PROGRAM DOWHIL ! This software is furnished under a license and may only be used ! or copied in accordance with the terms of such license. ! Copyright (C) Digital Equipment Corporation 1983 C CDM C July 1982 C Tests the DOWHILE( cond ) statement. DIMENSION NRRY(4:5) LOGICAL LOG INTEGER VAR C-100- Simple I=1; J=10 KNT=0 DO WHILE(I .LT. J) I = I+1 KNT = KNT + 1 END DO IF (KNT .NE. 9) TYPE 100, KNT 100 FORMAT(' ?Error 100. KNT = 'I', should = 9') C-200- With label I=3 DO 201 WHILE(I.NE.5) I = I+1 201 NRRY(I) = I IF (NRRY(4) .NE. 4) TYPE 210, 4,NRRY(4),4 IF (NRRY(5) .NE. 5) TYPE 210, 5,NRRY(5),5 210 FORMAT(' ?Error 210. NRRY('I1')='I', should = 'I2) C-300- With regular incremental DO's LOG = .TRUE. IVAR = 0 DO I=1,4 LOG = .NOT. LOG KNT = 0 DO WHILE((LOG) .AND. KNT.LT.3) KNT = KNT+1 DO J=1,5 IVAR = IVAR + I + J ENDDO ENDDO ENDDO IF (IVAR .NE. 180) TYPE 300, IVAR 300 FORMAT(' ?Error 330. IVAR='I', should = 180') C-400- Let's fool the parser! C This should not be ANY type of DO loop or DOUBLE PRECSION stmt. DOU = 1 C-500- This is a DO loop, the incr var is U. VAR=0 DOU=1,2 VAR=VAR+1 ENDDO IF (VAR .NE. 2) TYPE 500, VAR 500 FORMAT(' ?Error 500. VAR='I', should = 3') STOP 'DoWhile' END