Break circular dependency between FIR dialect and utilities
[llvm-project.git] / flang / test / Semantics / assign10.f90
blob6b98097bfe62c437aeaa006061bc8a1da8a7303e
1 ! RUN: %python %S/test_errors.py %s %flang_fc1
2 ! Shape conformance checks on assignments
3 program test
4 real :: a0, a1a(2), a1b(3), a2a(2,3), a2b(3,2)
5 a0 = 0. ! ok
6 !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches scalar REAL(4) and rank 1 array of REAL(4)
7 a0 = [0.]
8 a1a = 0. ! ok
9 a1a = [(real(j),j=1,2)] ! ok
10 !ERROR: Dimension 1 of left-hand side has extent 2, but right-hand side has extent 3
11 a1a = [(real(j),j=1,3)]
12 !ERROR: Dimension 1 of left-hand side has extent 3, but right-hand side has extent 2
13 a1b = a1a
14 !ERROR: No intrinsic or user-defined ASSIGNMENT(=) matches rank 1 array of REAL(4) and rank 2 array of REAL(4)
15 a1a = a2a
16 a1a = a2a(:,1) ! ok
17 a2a = 0. ! ok
18 a2a(:,1) = a1a ! ok
19 !ERROR: Dimension 1 of left-hand side has extent 3, but right-hand side has extent 2
20 a2a(1,:) = a1a
21 !ERROR: Dimension 1 of left-hand side has extent 2, but right-hand side has extent 3
22 a2a = a2b
23 end