Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / call08.f90
blobf4c690e0c96e0672b7eeb768445fc4e302c5795d
1 ! RUN: %python %S/test_errors.py %s %flang_fc1
2 ! Test 15.5.2.8 coarray dummy arguments
4 module m
6 real :: c1[*]
7 real, volatile :: c2[*]
9 contains
11 subroutine s01(x)
12 real :: x[*]
13 end subroutine
14 subroutine s02(x)
15 real, volatile :: x[*]
16 end subroutine
17 subroutine s03(x)
18 real, contiguous :: x(:)[*]
19 end subroutine
20 subroutine s04(x)
21 real :: x(*)[*]
22 end subroutine
24 subroutine test(x,c3,c4)
25 real :: scalar
26 real :: x(:)[*]
27 real, intent(in) :: c3(:)[*]
28 real, contiguous, intent(in) :: c4(:)[*]
29 call s01(c1) ! ok
30 call s02(c2) ! ok
31 call s03(c4) ! ok
32 call s04(c4) ! ok
33 !ERROR: Actual argument associated with coarray dummy argument 'x=' must be a coarray
34 call s01(scalar)
35 !ERROR: VOLATILE coarray may not be associated with non-VOLATILE coarray dummy argument 'x='
36 call s01(c2)
37 !ERROR: non-VOLATILE coarray may not be associated with VOLATILE coarray dummy argument 'x='
38 call s02(c1)
39 !ERROR: Actual argument associated with a CONTIGUOUS coarray dummy argument 'x=' must be simply contiguous
40 call s03(c3)
41 !ERROR: Actual argument associated with a CONTIGUOUS coarray dummy argument 'x=' must be simply contiguous
42 call s03(x)
43 !ERROR: Actual argument associated with coarray dummy argument 'x=' (not assumed shape or rank) must be simply contiguous
44 call s04(c3)
45 !ERROR: Actual argument associated with coarray dummy argument 'x=' (not assumed shape or rank) must be simply contiguous
46 call s04(x)
47 end subroutine
48 end module