xref: /original-bsd/usr.bin/f77/tests/tests/fm008.f (revision 4b05c5c5)
1c     comment section.
2c
3c     fm008
4c
5c         this routine tests arithmetic assignment statements of the
6c     form          integer variable = arithmetic expression
7c     where the arithmetic expression is formed with the arithmetic
8c     operator + integer constants and positive integer variables.
9c     some of the tests use parentheses to group elements in the
10c     arithmetic expression.
11c
12c         there are tests where the arithmetic expression contains
13c            (1) two integer constants,
14c            (2) three integer constants,
15c            (3) three integer constants with parentheses to group
16c                   elements,
17c            (4) one integer variable and one integer constant,
18c            (5) one integer variable and two integer constants,
19c            (6) one integer variable and two integer constants with
20c                   parentheses to group elements.
21c
22c
23c      references
24c        american national standard programming language fortran,
25c              x3.9-1978
26c
27c        section 4.3, integer type
28c        section 4.3.1, integer constant
29c        section 6.1, arithmetic expressions
30c        section 10.1, arithmetic assignment statements
31c
32c
33c      **********************************************************
34c
35c         a compiler validation system for the fortran language
36c     based on specifications as defined in american national standard
37c     programming language fortran x3.9-1978, has been developed by the
38c     federal cobol compiler testing service.  the fortran compiler
39c     validation system (fcvs) consists of audit routines, their related
40c     data, and an executive system.  each audit routine is a fortran
41c     program, subprogram or function which includes tests of specific
42c     language elements and supporting procedures indicating the result
43c     of executing these tests.
44c
45c         this particular program/subprogram/function contains features
46c     found only in the subset as defined in x3.9-1978.
47c
48c         suggestions and comments should be forwarded to -
49c
50c                  department of the navy
51c                  federal cobol compiler testing service
52c                  washington, d.c.  20376
53c
54c      **********************************************************
55c
56c
57c
58c     initialization section
59c
60c     initialize constants
61c      **************
62c     i01 contains the logical unit number for the card reader.
63      i01 = 5
64c     i02 contains the logical unit number for the printer.
65      i02 = 6
66c     system environment section
67c
68cx010    this card is replaced by contents of fexec x-010 control card.
69c     the cx010 card is for overriding the program default i01 = 5
70c     (unit number for card reader).
71cx011    this card is replaced by contents of fexec x-011 control card.
72c     the cx011 card is for systems which require additional
73c     fortran statements for files associated with cx010 above.
74c
75cx020    this card is replaced by contents of fexec x-020 control card.
76c     the cx020 card is for overriding the program default i02 = 6
77c     (unit number for printer).
78cx021    this card is replaced by contents of fexec x-021 control card.
79c     the cx021 card is for systems which require additional
80c     fortran statements for files associated with cx020 above.
81c
82      ivpass=0
83      ivfail=0
84      ivdele=0
85      iczero=0
86c
87c     write page headers
88      write (i02,90000)
89      write (i02,90001)
90      write (i02,90002)
91      write (i02, 90002)
92      write (i02,90003)
93      write (i02,90002)
94      write (i02,90004)
95      write (i02,90002)
96      write (i02,90011)
97      write (i02,90002)
98      write (i02,90002)
99      write (i02,90005)
100      write (i02,90006)
101      write (i02,90002)
102c     test section
103c
104c         arithmetic assignment statement
105c
106c     test 200 through test 214 contain integer constants and operator +
107c     in arithmetic expression.
108c
109c     test 200 through test 206 - two integer constants
110c
111 2001 continue
112      ivtnum = 200
113c
114c      ****  test 200  ****
115c
116      if (iczero) 32000, 2000, 32000
117 2000 continue
118      ivcomp = 2+3
119      go to 42000
12032000 ivdele = ivdele + 1
121      write (i02,80003) ivtnum
122      if (iczero) 42000, 2011, 42000
12342000 if (ivcomp - 5) 22000,12000,22000
12412000 ivpass = ivpass + 1
125      write (i02,80001) ivtnum
126      go to 2011
12722000 ivfail = ivfail + 1
128      ivcorr = 5
129      write (i02,80004) ivtnum, ivcomp ,ivcorr
130 2011 continue
131      ivtnum = 201
132c
133c      ****  test 201  ****
134c
135      if (iczero) 32010, 2010, 32010
136 2010 continue
137      ivcomp = 51 + 52
138      go to 42010
13932010 ivdele = ivdele + 1
140      write (i02,80003) ivtnum
141      if (iczero) 42010, 2021, 42010
14242010 if (ivcomp - 103) 22010,12010,22010
14312010 ivpass = ivpass + 1
144      write (i02,80001) ivtnum
145      go to 2021
14622010 ivfail = ivfail + 1
147      ivcorr = 103
148      write (i02,80004) ivtnum, ivcomp ,ivcorr
149 2021 continue
150      ivtnum = 202
151c
152c      ****  test 202  ****
153c
154      if (iczero) 32020, 2020, 32020
155 2020 continue
156      ivcomp = 189 + 676
157      go to 42020
15832020 ivdele = ivdele + 1
159      write (i02,80003) ivtnum
160      if (iczero) 42020, 2031, 42020
16142020 if (ivcomp - 865) 22020,12020,22020
16212020 ivpass = ivpass + 1
163      write (i02,80001) ivtnum
164      go to 2031
16522020 ivfail = ivfail + 1
166      ivcorr = 865
167      write (i02,80004) ivtnum, ivcomp ,ivcorr
168 2031 continue
169      ivtnum = 203
170c
171c      ****  test 203  ****
172c
173      if (iczero) 32030, 2030, 32030
174 2030 continue
175      ivcomp = 1358 + 8001
176      go to 42030
17732030 ivdele = ivdele + 1
178      write (i02,80003) ivtnum
179      if (iczero) 42030, 2041, 42030
18042030 if (ivcomp - 9359) 22030, 12030, 22030
18112030 ivpass = ivpass + 1
182      write (i02,80001) ivtnum
183      go to 2041
18422030 ivfail = ivfail + 1
185      ivcorr = 9359
186      write (i02,80004) ivtnum, ivcomp ,ivcorr
187 2041 continue
188      ivtnum = 204
189c
190c      ****  test 204  ****
191c
192      if (iczero) 32040, 2040, 32040
193 2040 continue
194      ivcomp = 11112 + 10001
195      go to 42040
19632040 ivdele = ivdele + 1
197      write (i02,80003) ivtnum
198      if (iczero) 42040, 2051, 42040
19942040 if (ivcomp - 21113) 22040, 12040, 22040
20012040 ivpass = ivpass + 1
201      write (i02,80001) ivtnum
202      go to 2051
20322040 ivfail = ivfail + 1
204      ivcorr=21113
205      write (i02,80004) ivtnum, ivcomp ,ivcorr
206 2051 continue
207      ivtnum = 205
208c
209c      ****  test 205  ****
210c
211      if (iczero) 32050, 2050, 32050
212 2050 continue
213      ivcomp = 189 + 9876
214      go to 42050
21532050 ivdele = ivdele + 1
216      write (i02,80003) ivtnum
217      if (iczero) 42050, 2061, 42050
21842050 if (ivcomp - 10065) 22050,12050,22050
21912050 ivpass = ivpass + 1
220      write (i02,80001) ivtnum
221      go to 2061
22222050 ivfail = ivfail + 1
223      ivcorr = 10065
224      write (i02,80004) ivtnum, ivcomp ,ivcorr
225 2061 continue
226      ivtnum = 206
227c
228c      ****  test 206  ****
229c          requires 32767
230c
231      if (iczero) 32060, 2060, 32060
232 2060 continue
233      ivcomp = 32752 + 15
234      go to 42060
23532060 ivdele = ivdele + 1
236      write (i02,80003) ivtnum
237      if (iczero) 42060, 2071, 42060
23842060 if (ivcomp - 32767) 22060,12060,22060
23912060 ivpass = ivpass + 1
240      write (i02,80001) ivtnum
241      go to 2071
24222060 ivfail = ivfail + 1
243      ivcorr = 32767
244      write (i02,80004) ivtnum, ivcomp ,ivcorr
245c
246c     test 207 through test 210 - three integer constants
247c
248 2071 continue
249      ivtnum = 207
250c
251c      ****  test 207  ****
252c
253      if (iczero) 32070, 2070, 32070
254 2070 continue
255      ivcomp = 2+3+4
256      go to 42070
25732070 ivdele = ivdele + 1
258      write (i02,80003) ivtnum
259      if (iczero) 42070, 2081, 42070
26042070 if (ivcomp - 9) 22070,12070,22070
26112070 ivpass = ivpass + 1
262      write (i02,80001) ivtnum
263      go to 2081
26422070 ivfail = ivfail + 1
265      ivcorr = 9
266      write (i02,80004) ivtnum, ivcomp ,ivcorr
267 2081 continue
268      ivtnum = 208
269c
270c      ****  test 208  ****
271c
272      if (iczero) 32080, 2080, 32080
273 2080 continue
274      ivcomp = 51 + 52 + 53
275      go to 42080
27632080 ivdele = ivdele + 1
277      write (i02,80003) ivtnum
278      if (iczero) 42080, 2091, 42080
27942080 if (ivcomp - 156) 22080,12080,22080
28012080 ivpass = ivpass + 1
281      write (i02,80001) ivtnum
282      go to 2091
28322080 ivfail = ivfail + 1
284      ivcorr = 156
285      write (i02,80004) ivtnum, ivcomp ,ivcorr
286 2091 continue
287      ivtnum = 209
288c
289c      ****  test 209  ****
290c
291      if (iczero) 32090, 2090, 32090
292 2090 continue
293      ivcomp = 189 +676+101
294      go to 42090
29532090 ivdele = ivdele + 1
296      write (i02,80003) ivtnum
297      if (iczero) 42090, 2101, 42090
29842090 if (ivcomp - 966) 22090,12090,22090
29912090 ivpass = ivpass + 1
300      write (i02,80001) ivtnum
301      go to 2101
30222090 ivfail = ivfail + 1
303      ivcorr = 966
304      write (i02,80004) ivtnum, ivcomp ,ivcorr
305 2101 continue
306      ivtnum = 210
307c
308c      ****  test 210  ****
309c
310      if (iczero) 32100, 2100, 32100
311 2100 continue
312      ivcomp = 1358 + 8001 + 2189
313      go to 42100
31432100 ivdele = ivdele + 1
315      write (i02,80003) ivtnum
316      if (iczero) 42100, 2111, 42100
31742100 if (ivcomp - 11548) 22100,12100,22100
31812100 ivpass = ivpass + 1
319      write (i02,80001) ivtnum
320      go to 2111
32122100 ivfail = ivfail + 1
322      ivcorr = 11548
323      write (i02,80004) ivtnum, ivcomp ,ivcorr
324c
325c     tests 211 through 214 are the same as 207 through 210 except
326c     parentheses are used to group the constants.
327c
328 2111 continue
329      ivtnum = 211
330c
331c      ****  test 211  ****
332c
333      if (iczero) 32110, 2110, 32110
334 2110 continue
335      ivcomp = (2+3)+4
336      go to 42110
33732110 ivdele = ivdele + 1
338      write (i02,80003) ivtnum
339      if (iczero) 42110, 2121, 42110
34042110 if (ivcomp -9) 22110,12110,22110
34112110 ivpass = ivpass + 1
342      write (i02,80001) ivtnum
343      go to 2121
34422110 ivfail = ivfail + 1
345      ivcorr = 9
346      write (i02,80004) ivtnum, ivcomp ,ivcorr
347 2121 continue
348      ivtnum = 212
349c
350c      ****  test 212  ****
351c
352      if (iczero) 32120, 2120, 32120
353 2120 continue
354      ivcomp = 51+(52+53)
355      go to 42120
35632120 ivdele = ivdele + 1
357      write (i02,80003) ivtnum
358      if (iczero) 42120, 2131, 42120
35942120 if (ivcomp - 156) 22120,12120,22120
36012120 ivpass = ivpass + 1
361      write (i02,80001) ivtnum
362      go to 2131
36322120 ivfail = ivfail + 1
364      ivcorr = 156
365      write (i02,80004) ivtnum, ivcomp ,ivcorr
366 2131 continue
367      ivtnum = 213
368c
369c      ****  test 213  ****
370c
371      if (iczero) 32130, 2130, 32130
372 2130 continue
373      ivcomp = 189 +(676+101)
374      go to 42130
37532130 ivdele = ivdele + 1
376      write (i02,80003) ivtnum
377      if (iczero) 42130, 2141, 42130
37842130 if (ivcomp - 966) 22130,12130,22130
37912130 ivpass = ivpass + 1
380      write (i02,80001) ivtnum
381      go to 2141
38222130 ivfail = ivfail + 1
383      ivcorr = 966
384      write (i02,80004) ivtnum, ivcomp ,ivcorr
385 2141 continue
386      ivtnum = 214
387c
388c      ****  test 214  ****
389c
390      if (iczero) 32140, 2140, 32140
391 2140 continue
392      ivcomp = (1358+2189) + 8001
393      go to 42140
39432140 ivdele = ivdele + 1
395      write (i02,80003) ivtnum
396      if (iczero) 42140, 2151, 42140
39742140 if (ivcomp - 11548) 22140,12140,22140
39812140 ivpass = ivpass + 1
399      write (i02,80001) ivtnum
400      go to 2151
40122140 ivfail = ivfail + 1
402      ivcorr = 11548
403      write (i02,80004) ivtnum, ivcomp ,ivcorr
404c
405c     test 215 through test 234 contain integer variables, integer
406c     constants and the operator + in arithmetic expression.
407c
408c     test 215 through test 219 - one integer variable and one integer
409c     constant in arithmetic expression.
410c
411 2151 continue
412      ivtnum = 215
413c
414c      ****  test 215  ****
415c
416      if (iczero) 32150, 2150, 32150
417 2150 continue
418      ivon01 = 2
419      ivcomp = ivon01 + 3
420      go to 42150
42132150 ivdele = ivdele + 1
422      write (i02,80003) ivtnum
423      if (iczero) 42150, 2161, 42150
42442150 if (ivcomp - 5) 22150,12150,22150
42512150 ivpass = ivpass + 1
426      write (i02,80001) ivtnum
427      go to 2161
42822150 ivfail = ivfail + 1
429      ivcorr=5
430      write (i02,80004) ivtnum, ivcomp ,ivcorr
431 2161 continue
432      ivtnum = 216
433c
434c      ****  test 216  ****
435c
436      if (iczero) 32160, 2160, 32160
437 2160 continue
438      ivon01 = 3
439      ivcomp = 2 + ivon01
440      go to 42160
44132160 ivdele = ivdele + 1
442      write (i02,80003) ivtnum
443      if (iczero) 42160, 2171, 42160
44442160 if (ivcomp - 5) 22160,12160,22160
44512160 ivpass = ivpass + 1
446      write (i02,80001) ivtnum
447      go to 2171
44822160 ivfail = ivfail + 1
449      ivcorr = 5
450      write (i02,80004) ivtnum, ivcomp ,ivcorr
451 2171 continue
452      ivtnum = 217
453c
454c      ****  test 217  ****
455c
456      if (iczero) 32170, 2170, 32170
457 2170 continue
458      ivon01 = 51
459      ivcomp = ivon01 +52
460      go to 42170
46132170 ivdele = ivdele + 1
462      write (i02,80003) ivtnum
463      if (iczero) 42170, 2181, 42170
46442170 if (ivcomp - 103) 22170,12170,22170
46512170 ivpass = ivpass + 1
466      write (i02,80001) ivtnum
467      go to 2181
46822170 ivfail = ivfail + 1
469      ivcorr = 103
470      write (i02,80004) ivtnum, ivcomp ,ivcorr
471 2181 continue
472      ivtnum = 218
473c
474c      ****  test 218  ****
475c
476      if (iczero) 32180, 2180, 32180
477 2180 continue
478      ivon01 = 676
479      ivcomp = 189 + ivon01
480      go to 42180
48132180 ivdele = ivdele + 1
482      write (i02,80003) ivtnum
483      if (iczero) 42180, 2191, 42180
48442180 if (ivcomp - 865) 22180,12180,22180
48512180 ivpass = ivpass + 1
486      write (i02,80001) ivtnum
487      go to 2191
48822180 ivfail = ivfail + 1
489      ivcorr = 865
490      write (i02,80004) ivtnum, ivcomp ,ivcorr
491 2191 continue
492      ivtnum = 219
493c
494c      ****  test 219  ****
495c
496      if (iczero) 32190, 2190, 32190
497 2190 continue
498      ivon01 = 1358
499      ivcomp = ivon01 + 8001
500      go to 42190
50132190 ivdele = ivdele + 1
502      write (i02,80003) ivtnum
503      if (iczero) 42190, 2201, 42190
50442190 if (ivcomp - 9359) 22190,12190,22190
50512190 ivpass = ivpass + 1
506      write (i02,80001) ivtnum
507      go to 2201
50822190 ivfail = ivfail + 1
509      ivcorr = 9359
510      write (i02,80004) ivtnum, ivcomp ,ivcorr
511c
512c     test 220 through test 224 - one integer variable, two integer
513c     constants in arithmetic expression.
514c
515 2201 continue
516      ivtnum = 220
517c
518c      ****  test 220  ****
519c
520      if (iczero) 32200, 2200, 32200
521 2200 continue
522      ivon01 = 2
523      ivcomp = ivon01 +3 +4
524      go to 42200
52532200 ivdele = ivdele + 1
526      write (i02,80003) ivtnum
527      if (iczero) 42200, 2211, 42200
52842200 if (ivcomp - 9) 22200,12200,22200
52912200 ivpass = ivpass + 1
530      write (i02,80001) ivtnum
531      go to 2211
53222200 ivfail = ivfail + 1
533      ivcorr = 9
534      write (i02,80004) ivtnum, ivcomp ,ivcorr
535 2211 continue
536      ivtnum = 221
537c
538c      ****  test 221  ****
539c
540      if (iczero) 32210, 2210, 32210
541 2210 continue
542      ivon01 = 3
543      ivcomp = 2+ivon01+4
544      go to 42210
54532210 ivdele = ivdele + 1
546      write (i02,80003) ivtnum
547      if (iczero) 42210, 2221, 42210
54842210 if (ivcomp - 9) 22210,12210,22210
54912210 ivpass = ivpass + 1
550      write (i02,80001) ivtnum
551      go to 2221
55222210 ivfail = ivfail + 1
553      ivcorr = 9
554      write (i02,80004) ivtnum, ivcomp ,ivcorr
555 2221 continue
556      ivtnum = 222
557c
558c      ****  test 222  ****
559c
560      if (iczero) 32220, 2220, 32220
561 2220 continue
562      ivon01 = 4
563      ivcomp= 2+3+ivon01
564      go to 42220
56532220 ivdele = ivdele + 1
566      write (i02,80003) ivtnum
567      if (iczero) 42220, 2231, 42220
56842220 if (ivcomp - 9) 22220,12220,22220
56912220 ivpass = ivpass + 1
570      write (i02,80001) ivtnum
571      go to 2231
57222220 ivfail = ivfail + 1
573      ivcorr = 9
574      write (i02,80004) ivtnum, ivcomp ,ivcorr
575 2231 continue
576      ivtnum = 223
577c
578c      ****  test 223  ****
579c
580      if (iczero) 32230, 2230, 32230
581 2230 continue
582      ivon01 = 2189
583      ivcomp = 1358+ivon01+8001
584      go to 42230
58532230 ivdele = ivdele + 1
586      write (i02,80003) ivtnum
587      if (iczero) 42230, 2241, 42230
58842230 if (ivcomp - 11548) 22230,12230,22230
58912230 ivpass = ivpass + 1
590      write (i02,80001) ivtnum
591      go to 2241
59222230 ivfail = ivfail + 1
593      ivcorr=11548
594      write (i02,80004) ivtnum, ivcomp ,ivcorr
595 2241 continue
596      ivtnum = 224
597c
598c      ****  test 224  ****
599c
600      if (iczero) 32240, 2240, 32240
601 2240 continue
602      ivon01 = 11111
603      ivcomp = 11111 + ivon01 + 10111
604      go to 42240
60532240 ivdele = ivdele + 1
606      write (i02,80003) ivtnum
607      if (iczero) 42240, 2251, 42240
60842240 if (ivcomp - 32333) 22240,12240,22240
60912240 ivpass = ivpass + 1
610      write (i02,80001) ivtnum
611      go to 2251
61222240 ivfail = ivfail + 1
613      ivcorr = 32333
614      write (i02,80004) ivtnum, ivcomp ,ivcorr
615c
616c     test 225 through test 234 use parentheses to group elements in
617c     an arithmetic expression. the results are the same as tests
618c     220 through 224.
619c
620 2251 continue
621      ivtnum = 225
622c
623c      ****  test 225  ****
624c
625      if (iczero) 32250, 2250, 32250
626 2250 continue
627       ivon01 = 2
628      ivcomp = (ivon01 +3) + 4
629      go to 42250
63032250 ivdele = ivdele + 1
631      write (i02,80003) ivtnum
632      if (iczero) 42250, 2261, 42250
63342250 if (ivcomp -9) 22250,12250,22250
63412250 ivpass = ivpass + 1
635      write (i02,80001) ivtnum
636      go to 2261
63722250 ivfail = ivfail + 1
638      ivcorr = 9
639      write (i02,80004) ivtnum, ivcomp ,ivcorr
640 2261 continue
641      ivtnum = 226
642c
643c      ****  test 226  ****
644c
645      if (iczero) 32260, 2260, 32260
646 2260 continue
647      ivon01 = 2
648      ivcomp = ivon01 + (3+4)
649      go to 42260
65032260 ivdele = ivdele + 1
651      write (i02,80003) ivtnum
652      if (iczero) 42260, 2271, 42260
65342260 if (ivcomp - 9) 22260,12260,22260
65412260 ivpass = ivpass + 1
655      write (i02,80001) ivtnum
656      go to 2271
65722260 ivfail = ivfail + 1
658      ivcorr = 9
659      write (i02,80004) ivtnum, ivcomp ,ivcorr
660 2271 continue
661      ivtnum = 227
662c
663c      ****  test 227  ****
664c
665      if (iczero) 32270, 2270, 32270
666 2270 continue
667      ivon01 = 3
668      ivcomp = (2+ivon01) + 4
669      go to 42270
67032270 ivdele = ivdele + 1
671      write (i02,80003) ivtnum
672      if (iczero) 42270, 2281, 42270
67342270 if (ivcomp - 9) 22270,12270,22270
67412270 ivpass = ivpass + 1
675      write (i02,80001) ivtnum
676      go to 2281
67722270 ivfail = ivfail + 1
678      ivcorr = 9
679      write (i02,80004) ivtnum, ivcomp ,ivcorr
680 2281 continue
681      ivtnum = 228
682c
683c      ****  test 228  ****
684c
685      if (iczero) 32280, 2280, 32280
686 2280 continue
687      ivon01 = 3
688      ivcomp = 2 +(ivon01+4)
689      go to 42280
69032280 ivdele = ivdele + 1
691      write (i02,80003) ivtnum
692      if (iczero) 42280, 2291, 42280
69342280 if (ivcomp - 9) 22280, 12280, 22280
69412280 ivpass = ivpass + 1
695      write (i02,80001) ivtnum
696      go to 2291
69722280 ivfail = ivfail + 1
698      ivcorr = 9
699      write (i02,80004) ivtnum, ivcomp ,ivcorr
700 2291 continue
701      ivtnum = 229
702c
703c      ****  test 229  ****
704c
705      if (iczero) 32290, 2290, 32290
706 2290 continue
707      ivon01 = 4
708      ivcomp = (2+3)+ivon01
709      go to 42290
71032290 ivdele = ivdele + 1
711      write (i02,80003) ivtnum
712      if (iczero) 42290, 2301, 42290
71342290 if (ivcomp - 9) 22290,12290,22290
71412290 ivpass = ivpass + 1
715      write (i02,80001) ivtnum
716      go to 2301
71722290 ivfail = ivfail + 1
718      ivcorr = 9
719      write (i02,80004) ivtnum, ivcomp ,ivcorr
720 2301 continue
721      ivtnum = 230
722c
723c      ****  test 230  ****
724c
725      if (iczero) 32300, 2300, 32300
726 2300 continue
727      ivon01 = 2189
728      ivcomp = 1358 + (ivon01+8001)
729      go to 42300
73032300 ivdele = ivdele + 1
731      write (i02,80003) ivtnum
732      if (iczero) 42300, 2311, 42300
73342300 if (ivcomp - 11548) 22300,12300,22300
73412300 ivpass = ivpass + 1
735      write (i02,80001) ivtnum
736      go to 2311
73722300 ivfail = ivfail + 1
738      ivcorr = 11548
739      write (i02,80004) ivtnum, ivcomp ,ivcorr
740 2311 continue
741      ivtnum = 231
742c
743c      ****  test 231  ****
744c
745      if (iczero) 32310, 2310, 32310
746 2310 continue
747      ivon01 = 2189
748      ivcomp = (1358+ivon01) + 8001
749      go to 42310
75032310 ivdele = ivdele + 1
751      write (i02,80003) ivtnum
752      if (iczero) 42310, 2321, 42310
75342310 if (ivcomp - 11548) 22310,12310,22310
75412310 ivpass = ivpass + 1
755      write (i02,80001) ivtnum
756      go to 2321
75722310 ivfail = ivfail + 1
758      ivcorr = 11548
759      write (i02,80004) ivtnum, ivcomp ,ivcorr
760 2321 continue
761      ivtnum = 232
762c
763c      ****  test 232  ****
764c
765      if (iczero) 32320, 2320, 32320
766 2320 continue
767      ivon01 = 11111
768      ivcomp = (11111 + ivon01) + 10111
769      go to 42320
77032320 ivdele = ivdele + 1
771      write (i02,80003) ivtnum
772      if (iczero) 42320, 2331, 42320
77342320 if (ivcomp - 32333) 22320,12320,22320
77412320 ivpass = ivpass + 1
775      write (i02,80001) ivtnum
776      go to 2331
77722320 ivfail = ivfail + 1
778      ivcorr = 32333
779      write (i02,80004) ivtnum, ivcomp ,ivcorr
780 2331 continue
781      ivtnum = 233
782c
783c      ****  test 233  ****
784c
785      if (iczero) 32330, 2330, 32330
786 2330 continue
787      ivon01 = 11111
788      ivcomp = (ivon01 + 10111) + 11111
789      go to 42330
79032330 ivdele = ivdele + 1
791      write (i02,80003) ivtnum
792      if (iczero) 42330, 2341, 42330
79342330 if (ivcomp - 32333) 22330,12330,22330
79412330 ivpass = ivpass + 1
795      write (i02,80001) ivtnum
796      go to 2341
79722330 ivfail = ivfail + 1
798      ivcorr = 32333
799      write (i02,80004) ivtnum, ivcomp ,ivcorr
800 2341 continue
801      ivtnum = 234
802c
803c      ****  test 234  ****
804c
805      if (iczero) 32340, 2340, 32340
806 2340 continue
807      ivon01 = 10111
808      ivcomp = 11111 + (11111+ivon01)
809      go to 42340
81032340 ivdele = ivdele + 1
811      write (i02,80003) ivtnum
812      if (iczero) 42340, 2351, 42340
81342340 if (ivcomp - 32333) 22340,12340,22340
81412340 ivpass = ivpass + 1
815      write (i02,80001) ivtnum
816      go to 2351
81722340 ivfail = ivfail + 1
818      ivcorr = 32333
819      write (i02,80004) ivtnum, ivcomp ,ivcorr
820 2351 continue
821c
822c     write page footings and run summaries
82399999 continue
824      write (i02,90002)
825      write (i02,90006)
826      write (i02,90002)
827      write (i02,90002)
828      write (i02,90007)
829      write (i02,90002)
830      write (i02,90008)  ivfail
831      write (i02,90009) ivpass
832      write (i02,90010) ivdele
833c
834c
835c     terminate routine execution
836      stop
837c
838c     format statements for page headers
83990000 format (1h1)
84090002 format (1h )
84190001 format (1h ,10x,34hfortran compiler validation system)
84290003 format (1h ,21x,11hversion 1.0)
84390004 format (1h ,10x,38hfor official use only - copyright 1978)
84490005 format (1h ,5x,4htest,5x,9hpass/fail, 5x,8hcomputed,8x,7hcorrect)
84590006 format (1h ,5x,46h----------------------------------------------)
84690011 format (1h ,18x,17hsubset level test)
847c
848c     format statements for run summaries
84990008 format (1h ,15x,i5,19h errors encountered)
85090009 format (1h ,15x,i5,13h tests passed)
85190010 format (1h ,15x,i5,14h tests deleted)
852c
853c     format statements for test results
85480001 format (1h ,4x,i5,7x,4hpass)
85580002 format (1h ,4x,i5,7x,4hfail)
85680003 format (1h ,4x,i5,7x,7hdeleted)
85780004 format (1h ,4x,i5,7x,4hfail,10x,i6,9x,i6)
85880005 format (1h ,4x,i5,7x,4hfail,4x,e12.5,3x,e12.5)
859c
86090007 format (1h ,20x,20hend of program fm008)
861      end
862