|
|
1.1 root 1: PROGRAM FM200 00010200
2: C DATE***82/08/02*18.33.46
3: C OWNER PRE/850703/TC-85- -410/ /FSTC/278FCVS*F78UBP20/
4: C AUDIT FCVS78 V2.0
5: C 00020200
6: C 00030200
7: C THIS ROUTINE IS THE FIRST AUDIT PROGRAM TO CONTAIN A PROGRAM 00040200
8: C STATEMENT. THE FOLLOWING FEATURES FROM CHAPTER 3., CHARACTERS, 00050200
9: C LINES AND EXECUTION SEQUENCE ARE TESTED. 00060200
10: C 00070200
11: C (1) ASTERISK (*) IN COLUMN 1 TO DESIGNATE A COMMENT LINE. 00080200
12: C (2) USE OF NON-FORTRAN CHARACTERS WITHIN A COMMENT LINE. 00090200
13: C (3) STATEMENT LABELS ON NONEXECUTABLE STATEMENTS. 00100200
14: C (4) DIGIT 0 IN COLUMN 6 OF AN INITIAL LINE. 00110200
15: C (5) CONTINUATION LINES - MAXIMUM OF NINE CONTINUATION LINES 00120200
16: C (660 CHARACTERS). 00130200
17: C (6) BLANK CHARACTERS WITHIN STATEMENTS. 00140200
18: C (7) BLANK COMMENT LINE, BLANK CHARACTERS IN COLUMNS 1-72. 00150200
19: C 00160200
20: C THE BASIC FEATURES OF SUBSET FORTRAN WHICH ARE TESTED BY THIS 00170200
21: C PROGRAM ARE USED THROUGHOUT THE REST OF THE SUBSET ROUTINES. 00180200
22: C 00190200
23: C REFERENCES 00200200
24: C AMERICAN NATIONAL STANDARD PROGRAMMING LANGUAGE FORTRAN, 00210200
25: C X3.9-1978 00220200
26: C 00230200
27: C SECTION 3.1.6, BLANK CHARACTER 00240200
28: C SECTION 3.2.1, COMMENT LINE 00250200
29: C SECTION 3.2.2, INITIAL LINE 00260200
30: C SECTION 3.2.3, CONTINUATION LINE 00270200
31: C SECTION 3.3, STATEMENTS 00280200
32: C SECTION 3.4, STATEMENT LABEL 00290200
33: C SECTION 14.1, PROGRAM STATEMENT 00300200
34: C 00310200
35: C 00320200
36: C ******************************************************************00330200
37: C A COMPILER VALIDATION SYSTEM FOR THE FORTRAN LANGUAGE 00340200
38: C BASED ON SPECIFICATIONS AS DEFINED IN AMERICAN STANDARD FORTRAN 00350200
39: C X3.9-1978, HAS BEEN DEVELOPED BY THE DEPARTMENT OF THE NAVY. THE 00360200
40: C FORTRAN COMPILER VALIDATION SYSTEM (FCVS) CONSISTS OF AUDIT 00370200
41: C ROUTINES, THEIR RELATED DATA, AND AN EXECUTIVE SYSTEM. EACH AUDIT00380200
42: C ROUTINE IS A FORTRAN PROGRAM OR SUBPROGRAM WHICH INCLUDES TESTS 00390200
43: C OF SPECIFIC LANGUAGE ELEMENTS AND SUPPORTING PROCEDURES INDICATING00400200
44: C THE RESULT OF EXECUTING THESE TESTS. 00410200
45: C 00420200
46: C THIS PARTICULAR PROGRAM OR SUBPROGRAM CONTAINS ONLY FEATURES 00430200
47: C FOUND IN THE SUBSET LEVEL OF THE STANDARD. 00440200
48: C 00450200
49: C SUGGESTIONS AND COMMENTS SHOULD BE FORWARDED TO 00460200
50: C DEPARTMENT OF THE NAVY 00470200
51: C FEDERAL COBOL COMPILER TESTING SERVICE 00480200
52: C WASHINGTON, D.C. 20376 00490200
53: C 00500200
54: C ******************************************************************00510200
55: C 00520200
56: C 00530200
57: IMPLICIT LOGICAL (L) 00540200
58: IMPLICIT CHARACTER*14 (C) 00550200
59: C 00560200
60: 12 INTEGER XVTN01 00570200
61: 22 DATA IVON02/5/ 00580200
62: C THE PRECEDING STATEMENTS ARE NONEXECUTABLE STATEMENTS WHICH 00590200
63: C CONTAIN STATEMENT LABELS. THEY ARE REFERENCED IN TESTS 1 AND 2. 00600200
64: C 00610200
65: C 00620200
66: C 00630200
67: C INITIALIZATION SECTION. 00640200
68: C 00650200
69: C INITIALIZE CONSTANTS 00660200
70: C ******************** 00670200
71: C I01 CONTAINS THE LOGICAL UNIT NUMBER FOR THE CARD READER 00680200
72: I01 = 5 00690200
73: C I02 CONTAINS THE LOGICAL UNIT NUMBER FOR THE PRINTER 00700200
74: I02 = 6 00710200
75: C SYSTEM ENVIRONMENT SECTION 00720200
76: C 00730200
77: I01 = 5 00740200
78: C THE CX010 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I01 = 5 00750200
79: C (UNIT NUMBER FOR CARD READER). 00760200
80: CX011 THIS CARD IS REPLACED BY CONTENTS OF FEXEC X-011 CONTROL CARD00770200
81: C THE CX011 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00780200
82: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX010 ABOVE. 00790200
83: C 00800200
84: I02 = 6 00810200
85: C THE CX020 CARD IS FOR OVERRIDING THE PROGRAM DEFAULT I02 = 6 00820200
86: C (UNIT NUMBER FOR PRINTER). 00830200
87: CX021 THIS CARD IS PEPLACED BY CONTENTS OF FEXEC X-021 CONTROL CARD.00840200
88: C THE CX021 CARD IS FOR SYSTEMS WHICH REQUIRE ADDITIONAL 00850200
89: C FORTRAN STATEMENTS FOR FILES ASSOCIATED WITH CX020 ABOVE. 00860200
90: C 00870200
91: IVPASS = 0 00880200
92: IVFAIL = 0 00890200
93: IVDELE = 0 00900200
94: ICZERO = 0 00910200
95: C 00920200
96: C WRITE OUT PAGE HEADERS 00930200
97: C 00940200
98: WRITE (I02,90002) 00950200
99: WRITE (I02,90006) 00960200
100: WRITE (I02,90008) 00970200
101: WRITE (I02,90004) 00980200
102: WRITE (I02,90010) 00990200
103: WRITE (I02,90004) 01000200
104: WRITE (I02,90016) 01010200
105: WRITE (I02,90001) 01020200
106: WRITE (I02,90004) 01030200
107: WRITE (I02,90012) 01040200
108: WRITE (I02,90014) 01050200
109: WRITE (I02,90004) 01060200
110: C 01070200
111: C 01080200
112: C TEST 1 AND TEST 2 REFERENCE VARIABLES DEFINED IN NONEXECUTABLE 01090200
113: C STATEMENTS WHICH CONTAIN STATEMENT LABELS. THE NONEXECUTABLE 01100200
114: C STATEMENTS WHICH APPEAR AT THE BEGINNING OF THE PROGRAM ARE 01110200
115: C 12 INTEGER XVTN01 01120200
116: C 22 DATA IVON02/5/ 01130200
117: C 01140200
118: C REFERENCE X3.9-1977, SECTION 3.4, STATEMENT LABELS 01150200
119: C 01160200
120: C 01170200
121: C **** FCVS PROGRAM 200 - TEST 001 **** 01180200
122: C 01190200
123: C TEST 001 ASSIGNS AN INTEGER VALUE TO XVTN01 WHICH WAS SPECIFIED01200200
124: C AS TYPE INTEGER IN AN INTEGER STATEMENT CONTAINING A STATEMENT 01210200
125: C LABEL. 01220200
126: C 01230200
127: IVTNUM = 1 01240200
128: IF (ICZERO) 30010, 0010, 30010 01250200
129: 0010 CONTINUE 01260200
130: IVCOMP = 0 01270200
131: XVTN01 = 1 01280200
132: IVCOMP = XVTN01 01290200
133: IVCORR = 1 01300200
134: 40010 IF (IVCOMP - 1) 20010, 10010, 20010 01310200
135: 30010 IVDELE = IVDELE + 1 01320200
136: WRITE (I02,80000) IVTNUM 01330200
137: IF (ICZERO) 10010, 0021, 20010 01340200
138: 10010 IVPASS = IVPASS + 1 01350200
139: WRITE (I02,80002) IVTNUM 01360200
140: GO TO 0021 01370200
141: 20010 IVFAIL = IVFAIL + 1 01380200
142: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01390200
143: 0021 CONTINUE 01400200
144: C 01410200
145: C **** FCVS PROGRAM 200 - TEST 002 **** 01420200
146: C 01430200
147: C TEST 002 CHECKS THE VALUE WHICH WAS ASSIGNED TO IVON02 BY A 01440200
148: C DATA STATEMENT WITH A STATEMENT LABEL. 01450200
149: C 01460200
150: IVTNUM = 2 01470200
151: IF (ICZERO) 30020, 0020, 30020 01480200
152: 0020 CONTINUE 01490200
153: IVCOMP = 0 01500200
154: IVCOMP = IVON02 01510200
155: IVCORR = 5 01520200
156: 40020 IF (IVCOMP - 5) 20020, 10020, 20020 01530200
157: 30020 IVDELE = IVDELE + 1 01540200
158: WRITE (I02,80000) IVTNUM 01550200
159: IF (ICZERO) 10020, 0031, 20020 01560200
160: 10020 IVPASS = IVPASS + 1 01570200
161: WRITE (I02,80002) IVTNUM 01580200
162: GO TO 0031 01590200
163: 20020 IVFAIL = IVFAIL + 1 01600200
164: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01610200
165: 0031 CONTINUE 01620200
166: C 01630200
167: C TEST 3 THROUGH TEST 5 USE AN ASTERISK (*) IN COLUMN 1 TO 01640200
168: C DENOTE A COMMENT LINE. 01650200
169: C 01660200
170: C REFERENCE X3.9-1977, SECTION 3.2.1, COMMENT LINE 01670200
171: C 01680200
172: C 01690200
173: C **** FCVS PROGRAM 200 - TEST 003 **** 01700200
174: C 01710200
175: C GO TO STATEMENT IN ASTERISK COMMENT LINE. 01720200
176: C 01730200
177: IVTNUM = 3 01740200
178: IF (ICZERO) 30030, 0030, 30030 01750200
179: 0030 CONTINUE 01760200
180: IVCOMP = 1 01770200
181: * GO TO 20030 01780200
182: IVCOMP = 0 01790200
183: IVCORR = 0 01800200
184: 40030 IF (IVCOMP) 20030, 10030, 20030 01810200
185: 30030 IVDELE = IVDELE + 1 01820200
186: WRITE (I02,80000) IVTNUM 01830200
187: IF (ICZERO) 10030, 0041, 20030 01840200
188: 10030 IVPASS = IVPASS + 1 01850200
189: WRITE (I02,80002) IVTNUM 01860200
190: GO TO 0041 01870200
191: 20030 IVFAIL = IVFAIL + 1 01880200
192: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 01890200
193: 0041 CONTINUE 01900200
194: C 01910200
195: C **** FCVS PROGRAM 200 - TEST 004 **** 01920200
196: C 01930200
197: C SEVERAL * COMMENT LINES INTERMIXED WITH EXECUTABLE STATEMENTS. 01940200
198: C 01950200
199: IVTNUM = 4 01960200
200: IF (ICZERO) 30040, 0040, 30040 01970200
201: 0040 CONTINUE 01980200
202: IVCOMP = 0 01990200
203: * THE * COMMENT LINE IS THE SAME AS A C COMMENT LINE. 02000200
204: IVCOMP = 1 02010200
205: * THE * COMMENT LINES HAVE NO EFFECT ON THE PROGRAM EXECUTION. 02020200
206: * THEIR USE IS STRICTLY FOR DOCUMENTATION PURPOSES. 02030200
207: IVCOMP = 2 02040200
208: * IVCOMP = 3 02050200
209: * 40 ANY STATEMENT LABELS ON COMMENT LINES ARE IGNORED. 02060200
210: IVCORR = 2 02070200
211: 40040 IF (IVCOMP - 2) 20040, 10040, 20040 02080200
212: 30040 IVDELE = IVDELE + 1 02090200
213: WRITE (I02,80000) IVTNUM 02100200
214: IF (ICZERO) 10040, 0051, 20040 02110200
215: 10040 IVPASS = IVPASS + 1 02120200
216: WRITE (I02,80002) IVTNUM 02130200
217: GO TO 0051 02140200
218: 20040 IVFAIL = IVFAIL + 1 02150200
219: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02160200
220: 0051 CONTINUE 02170200
221: C 02180200
222: C **** FCVS PROGRAM 200 - TEST 005 **** 02190200
223: C 02200200
224: C NONFORTRAN CHARACTERS WITHIN C AND * COMMENT LINES. 02210200
225: C 02220200
226: IVTNUM = 5 02230200
227: IF (ICZERO) 30050, 0050, 30050 02240200
228: 0050 CONTINUE 02250200
229: IVCOMP = 1 02260200
230: * <>%? NONFORTRAN CHARACTER 02270200
231: C <>%? NONFORTRAN CHARACTER 02280200
232: IVCOMP = 0 02290200
233: IVCORR = 0 02300200
234: 40050 IF (IVCOMP) 20050, 10050, 20050 02310200
235: 30050 IVDELE = IVDELE + 1 02320200
236: WRITE (I02,80000) IVTNUM 02330200
237: IF (ICZERO) 10050, 0061, 20050 02340200
238: 10050 IVPASS = IVPASS + 1 02350200
239: WRITE (I02,80002) IVTNUM 02360200
240: GO TO 0061 02370200
241: 20050 IVFAIL = IVFAIL + 1 02380200
242: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02390200
243: 0061 CONTINUE 02400200
244: C 02410200
245: C **** FCVS PROGRAM 200 - TEST 006 **** 02420200
246: C 02430200
247: C LINES CONTAINING ONLY BLANK CHARACTERS IN COLUMNS 1 THROUGH 02440200
248: C 72 ARE COMMENT LINES. 02450200
249: C 02460200
250: C REFERENCE X3.9-1977, SECTION 3.2.1, COMMENT LINE 02470200
251: C 02480200
252: IVTNUM = 6 02490200
253: IF (ICZERO) 30060, 0060, 30060 02500200
254: 0060 CONTINUE 02510200
255: IVCOMP = 0 02520200
256: 02530200
257: IVCORR = 3 02540200
258: IVCOMP = 9 02550200
259: * ASTERISK COMMENT LINE FOLLOWED BY BLANK COMMENT LINE. 02560200
260: 02570200
261: * ASTERISK COMMENT LINE. 02580200
262: IVCOMP = 3 02590200
263: 40060 IF (IVCOMP - 3) 20060, 10060, 20060 02600200
264: 30060 IVDELE = IVDELE + 1 02610200
265: WRITE (I02,80000) IVTNUM 02620200
266: IF (ICZERO) 10060, 0071, 20060 02630200
267: 10060 IVPASS = IVPASS + 1 02640200
268: WRITE (I02,80002) IVTNUM 02650200
269: GO TO 0071 02660200
270: 20060 IVFAIL = IVFAIL + 1 02670200
271: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02680200
272: 0071 CONTINUE 02690200
273: C 02700200
274: C TEST 7 AND TEST 8 CONTAIN THE DIGIT 0 IN COLUMN 6 OF INITIAL 02710200
275: C LINES. 02720200
276: C 02730200
277: C REFERENCE X3.9-1977, SECTION 3.2.2, INITIAL LINE 02740200
278: C 02750200
279: C 02760200
280: C **** FCVS PROGRAM 200 - TEST 007 **** 02770200
281: C 02780200
282: C TEST 007 USES THE DIGIT 0 IN COLUMN 6 OF TWO SUCCESSIVE 02790200
283: C INITIAL LINES. 02800200
284: C 02810200
285: IVTNUM = 7 02820200
286: IF (ICZERO) 30070, 0070, 30070 02830200
287: 0070 CONTINUE 02840200
288: IVCOMP = 0 02850200
289: 0IVON01 = 5 02860200
290: 0IVON02 = 6 02870200
291: IVCOMP = IVON01 + IVON02 02880200
292: IVCORR = 11 02890200
293: 40070 IF (IVCOMP - 11) 20070, 10070, 20070 02900200
294: 30070 IVDELE = IVDELE + 1 02910200
295: WRITE (I02,80000) IVTNUM 02920200
296: IF (ICZERO) 10070, 0081, 20070 02930200
297: 10070 IVPASS = IVPASS + 1 02940200
298: WRITE (I02,80002) IVTNUM 02950200
299: GO TO 0081 02960200
300: 20070 IVFAIL = IVFAIL + 1 02970200
301: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 02980200
302: 0081 CONTINUE 02990200
303: C 03000200
304: C **** FCVS PROGRAM 200 - TEST 008 **** 03010200
305: C 03020200
306: C TEST 008 MIXES STATEMENTS WITH DIGIT 0 IN COLUMN 6 OF INITIAL 03030200
307: C LINE AND COMMENT LINES WITH * IN COLUMN 1. 03040200
308: C 03050200
309: IVTNUM = 8 03060200
310: IF (ICZERO) 30080, 0080, 30080 03070200
311: 0080 CONTINUE 03080200
312: IVCOMP = 0 03090200
313: * FIRST INITIAL LINE FOLLOWS. 03100200
314: 0IVON01 = 5 03110200
315: * TWO SUCCESSIVE COMMENT LINES, 03120200
316: * FOLLOWED BY TWO INITIAL LINES. 03130200
317: 0IVON02=4 03140200
318: 0IVCOMP=IVON01+IVON02 03150200
319: * FALL THROUGH TO VERIFICATION CODE 03160200
320: IVCORR = 9 03170200
321: 40080 IF (IVCOMP - 9) 20080, 10080, 20080 03180200
322: 30080 IVDELE = IVDELE + 1 03190200
323: WRITE (I02,80000) IVTNUM 03200200
324: IF (ICZERO) 10080, 0091, 20080 03210200
325: 10080 IVPASS = IVPASS + 1 03220200
326: WRITE (I02,80002) IVTNUM 03230200
327: GO TO 0091 03240200
328: 20080 IVFAIL = IVFAIL + 1 03250200
329: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03260200
330: 0091 CONTINUE 03270200
331: C 03280200
332: C TEST 9 THROUGH TEST 13 VERIFY THAT CONTINUATION LINES ARE 03290200
333: C PERMITTED. 03300200
334: C 03310200
335: C REFERENCE X3.9-1977, SECTION 3.2.3, CONTINUATION LINE 03320200
336: C 03330200
337: C 03340200
338: C **** FCVS PROGRAM 200 - TEST 009 **** 03350200
339: C 03360200
340: C STATEMENT WITH TWO CONTINUATION LINES. 03370200
341: C 03380200
342: IVTNUM = 9 03390200
343: IF (ICZERO) 30090, 0090, 30090 03400200
344: 0090 CONTINUE 03410200
345: IVON01 = 0 03420200
346: IVON 03430200
347: 1 01 03440200
348: 2 = 2 03450200
349: IVCOMP = IVON01 03460200
350: IVCORR = 2 03470200
351: 40090 IF (IVCOMP - 2) 20090, 10090, 20090 03480200
352: 30090 IVDELE = IVDELE + 1 03490200
353: WRITE (I02,80000) IVTNUM 03500200
354: IF (ICZERO) 10090, 0101, 20090 03510200
355: 10090 IVPASS = IVPASS + 1 03520200
356: WRITE (I02,80002) IVTNUM 03530200
357: GO TO 0101 03540200
358: 20090 IVFAIL = IVFAIL + 1 03550200
359: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03560200
360: 0101 CONTINUE 03570200
361: C 03580200
362: C **** FCVS PROGRAM 200 - TEST 010 **** 03590200
363: C 03600200
364: C STATEMENT WITH NINE CONTINUATION LINES. 03610200
365: C 03620200
366: IVTNUM = 10 03630200
367: IF (ICZERO) 30100, 0100, 30100 03640200
368: 0100 CONTINUE 03650200
369: IVON01 = 0 03660200
370: IVON01 = 03670200
371: 1 1 03680200
372: 2 +1 03690200
373: 3 +1 03700200
374: 4 +1 03710200
375: 5 +1 03720200
376: 6 +1 03730200
377: 7 +1 03740200
378: 8 +1 03750200
379: 9+1 03760200
380: IVCOMP = IVON01 03770200
381: IVCORR = 9 03780200
382: 40100 IF (IVCOMP - 9) 20100, 10100, 20100 03790200
383: 30100 IVDELE = IVDELE + 1 03800200
384: WRITE (I02,80000) IVTNUM 03810200
385: IF (ICZERO) 10100, 0111, 20100 03820200
386: 10100 IVPASS = IVPASS + 1 03830200
387: WRITE (I02,80002) IVTNUM 03840200
388: GO TO 0111 03850200
389: 20100 IVFAIL = IVFAIL + 1 03860200
390: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 03870200
391: 0111 CONTINUE 03880200
392: C 03890200
393: C **** FCVS PROGRAM 200 - TEST 011 **** 03900200
394: C 03910200
395: C TEST 011 CONTAINS THE MAXIMUM NUMBER OF CONTINUATION LINES 03920200
396: C PERMITTED IN THE SUBSET LANGUAGE AND EACH OF THE 660 CHARACTERS 03930200
397: C IN THE STATEMENT ARE NONBLANK. 03940200
398: C 03950200
399: IVTNUM = 11 03960200
400: IF (ICZERO) 30110, 0110, 30110 03970200
401: 0110 CONTINUE 03980200
402: IVON01 = 1 03990200
403: IVCOMP = 0 04000200
404: IVCOMP=IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVO04010200
405: 1N01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON0104020200
406: 2+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IV04030200
407: 3ON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON004040200
408: 41+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+I04050200
409: 5VON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON04060200
410: 601+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+04070200
411: 7IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVO04080200
412: 8N01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON0104090200
413: 9+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+IVON01+1204100200
414: IVCORR = 105 04110200
415: 40110 IF (IVCOMP - 105) 20110, 10110, 20110 04120200
416: 30110 IVDELE = IVDELE + 1 04130200
417: WRITE (I02,80000) IVTNUM 04140200
418: IF (ICZERO) 10110, 0121, 20110 04150200
419: 10110 IVPASS = IVPASS + 1 04160200
420: WRITE (I02,80002) IVTNUM 04170200
421: GO TO 0121 04180200
422: 20110 IVFAIL = IVFAIL + 1 04190200
423: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04200200
424: 0121 CONTINUE 04210200
425: C 04220200
426: C **** FCVS PROGRAM 200 - TEST 012 **** 04230200
427: C 04240200
428: C TEST 012 SPLITS A STATEMENT ACROSS 8 CONTINUATION LINES. 04250200
429: C THERE IS A STATEMENT LABEL IN COLUMNS 1-5 AND 0 IN COLUMN 6 04260200
430: C OF THE INITIAL LINE. 04270200
431: C 04280200
432: IVTNUM = 12 04290200
433: IF (ICZERO) 30120, 0120, 30120 04300200
434: 0120 CONTINUE 04310200
435: IVON01 = 0 04320200
436: GO TO 0122 04330200
437: 01220 I 04340200
438: 1 V 04350200
439: 2 O 04360200
440: 3 N 04370200
441: 4 0 04380200
442: 5 1 04390200
443: 6 = 04400200
444: 7 8 04410200
445: 8 9 04420200
446: IVCOMP = IVON01 04430200
447: IVCORR = 89 04440200
448: 40120 IF (IVCOMP - 89) 20120, 10120, 20120 04450200
449: 30120 IVDELE = IVDELE + 1 04460200
450: WRITE (I02,80000) IVTNUM 04470200
451: IF (ICZERO) 10120, 0131, 20120 04480200
452: 10120 IVPASS = IVPASS + 1 04490200
453: WRITE (I02,80002) IVTNUM 04500200
454: GO TO 0131 04510200
455: 20120 IVFAIL = IVFAIL + 1 04520200
456: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04530200
457: 0131 CONTINUE 04540200
458: C 04550200
459: C **** FCVS PROGRAM 200 - TEST 013 **** 04560200
460: C 04570200
461: C TEST 013 CONSISTS OF AN INITIAL LINE WHICH CONTAINS ONLY A 04580200
462: C STATEMENT LABEL AND A CONTINUATION LINE WHICH CONTAINS THE 04590200
463: C EXECUTABLE STATEMENT. 04600200
464: C 04610200
465: IVTNUM = 13 04620200
466: IF (ICZERO) 30130, 0130, 30130 04630200
467: 0130 CONTINUE 04640200
468: IVCOMP = 0 04650200
469: 0132 04660200
470: 1IVCOMP = 4 04670200
471: IVCORR = 4 04680200
472: 40130 IF (IVCOMP - 4) 20130, 10130, 20130 04690200
473: 30130 IVDELE = IVDELE + 1 04700200
474: WRITE (I02,80000) IVTNUM 04710200
475: IF (ICZERO) 10130, 0141, 20130 04720200
476: 10130 IVPASS = IVPASS + 1 04730200
477: WRITE (I02,80002) IVTNUM 04740200
478: GO TO 0141 04750200
479: 20130 IVFAIL = IVFAIL + 1 04760200
480: WRITE (I02,80010) IVTNUM, IVCOMP, IVCORR 04770200
481: 0141 CONTINUE 04780200
482: C 04790200
483: C 04800200
484: C WRITE OUT TEST SUMMARY 04810200
485: C 04820200
486: WRITE (I02,90004) 04830200
487: WRITE (I02,90014) 04840200
488: WRITE (I02,90004) 04850200
489: WRITE (I02,90000) 04860200
490: WRITE (I02,90004) 04870200
491: WRITE (I02,90020) IVFAIL 04880200
492: WRITE (I02,90022) IVPASS 04890200
493: WRITE (I02,90024) IVDELE 04900200
494: STOP 04910200
495: 90001 FORMAT (1H ,24X,5HFM200) 04920200
496: 90000 FORMAT (1H ,20X,20HEND OF PROGRAM FM200) 04930200
497: C 04940200
498: C FORMATS FOR TEST DETAIL LINES 04950200
499: C 04960200
500: 80000 FORMAT (1H ,4X,I5,6X,7HDELETED) 04970200
501: 80002 FORMAT (1H ,4X,I5,7X,4HPASS) 04980200
502: 80010 FORMAT (1H ,4X,I5,7X,4HFAIL,10X,I6,9X,I6) 04990200
503: 80012 FORMAT (1H ,4X,I5,7X,4HFAIL,4X,E12.5,3X,E12.5) 05000200
504: 80018 FORMAT (1H ,4X,I5,7X,4HFAIL,2X,A14,1X,A14) 05010200
505: C 05020200
506: C FORMAT STATEMENTS FOR PAGE HEADERS 05030200
507: C 05040200
508: 90002 FORMAT (1H1) 05050200
509: 90004 FORMAT (1H ) 05060200
510: 90006 FORMAT (1H ,10X,34HFORTRAN COMPILER VALIDATION SYSTEM) 05070200
511: 90008 FORMAT (1H ,21X,11HVERSION 1.0) 05080200
512: 90010 FORMAT (1H ,8X,38HFOR OFFICIAL USE ONLY - COPYRIGHT 1978) 05090200
513: 90012 FORMAT (1H ,5X,4HTEST,5X,9HPASS/FAIL,5X,8HCOMPUTED,8X,7HCORRECT) 05100200
514: 90014 FORMAT (1H ,5X,46H----------------------------------------------) 05110200
515: 90016 FORMAT (1H ,18X,17HSUBSET LEVEL TEST) 05120200
516: C 05130200
517: C FORMAT STATEMENTS FOR RUN SUMMARY 05140200
518: C 05150200
519: 90020 FORMAT (1H ,19X,I5,13H TESTS FAILED) 05160200
520: 90022 FORMAT (1H ,19X,I5,13H TESTS PASSED) 05170200
521: 90024 FORMAT (1H ,19X,I5,14H TESTS DELETED) 05180200
522: END 05190200
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.