Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / critical03.f90
blob26b4a9f133d37e32baf4663f1b8d3e215e0d1940
1 ! RUN: %python %S/test_errors.py %s %flang_fc1
2 !C1119
4 subroutine test1(a, i)
5 integer i
6 real a(10)
7 critical
8 if (a(i) < 0.0) then
9 a(i) = 20.20
10 !ERROR: Control flow escapes from CRITICAL
11 goto 20
12 end if
13 end critical
14 20 a(i) = -a(i)
15 end subroutine test1
17 subroutine test2(i)
18 integer i
19 critical
20 !ERROR: Control flow escapes from CRITICAL
21 if (i) 10, 10, 20
22 10 i = i + 1
23 end critical
24 20 i = i - 1
25 end subroutine test2
27 subroutine test3(i)
28 integer i
29 critical
30 !ERROR: Control flow escapes from CRITICAL
31 goto (10, 10, 20) i
32 10 i = i + 1
33 end critical
34 20 i = i - 1
35 end subroutine test3