xref: /llvm-project/flang/test/Semantics/if_arith02.f90 (revision 6c1ac141d3c98af9738bc77fcb55602cbff7751f)
1! RUN: %python %S/test_errors.py %s %flang_fc1
2! Check that only labels are allowed in arithmetic if statements.
3! TODO: Revisit error message "expected 'ASSIGN'" etc.
4! TODO: Revisit error message "expected one of '0123456789'"
5
6! TODO: BUG: Note that labels 500 and 600 do not exist and
7! ought to be flagged as errors. This oversight may be the
8! result of disabling semantic checking after syntax errors.
9
10if ( A ) 500, 600, 600
11100 CONTINUE
12200 CONTINUE
13300 CONTINUE
14
15!ERROR: expected 'ASSIGN'
16!ERROR: expected 'ALLOCATE ('
17!ERROR: expected '=>'
18!ERROR: expected '('
19!ERROR: expected '='
20if ( B ) A, 101, 301
21101 CONTINUE
22201 CONTINUE
23301 CONTINUE
24
25!ERROR: expected one of '0123456789'
26if ( B ) 102, A, 302
27102 CONTINUE
28202 CONTINUE
29302 CONTINUE
30
31!ERROR: expected one of '0123456789'
32if ( B ) 103, 103, A
33103 CONTINUE
34203 CONTINUE
35303 CONTINUE
36
37END
38