[AMDGPU] Test codegen'ing True16 additions.
[llvm-project.git] / flang / test / Semantics / block-data01.f90
blob30c39c3212f3687c0d9d7b1a34fc416c5d0b6463
1 ! RUN: %python %S/test_errors.py %s %flang_fc1
2 ! Test BLOCK DATA subprogram (14.3)
3 block data foo
4 !ERROR: IMPORT is not allowed in a BLOCK DATA subprogram
5 import
6 real :: pi = asin(-1.0) ! ok
7 !ERROR: An initialized variable in BLOCK DATA must be in a COMMON block
8 integer :: notInCommon = 1
9 integer :: uninitialized ! ok
10 !PORTABILITY: Procedure pointer 'q' should not have an ELEMENTAL intrinsic as its interface
11 !ERROR: 'q' may not appear in a BLOCK DATA subprogram
12 procedure(sin), pointer :: q => cos
13 !ERROR: 'p' may not be a procedure as it is in a COMMON block
14 procedure(sin), pointer :: p => cos
15 common /block/ p, pi
16 !ERROR: An initialized variable in BLOCK DATA must be in a COMMON block
17 integer :: inDataButNotCommon
18 data inDataButNotCommon /1/
19 integer :: inCommonA, inCommonB
20 !ERROR: 'incommona' in COMMON block /a/ must not be storage associated with 'incommonb' in COMMON block /b/ by EQUIVALENCE
21 common /a/ inCommonA, /b/ inCommonB
22 equivalence(inCommonA, inCommonB)
23 integer :: inCommonD, initialized ! ok
24 common /d/ inCommonD
25 equivalence(inCommonD, initialized)
26 data initialized /2/
27 integer :: inCommonE, jarr(2)
28 equivalence(inCommonE, jarr(2))
29 !ERROR: 'incommone' cannot backward-extend COMMON block /e/ via EQUIVALENCE with 'jarr'
30 common /e/ inCommonE
31 equivalence(inCommonF1, inCommonF2)
32 integer :: inCommonF1, inCommonF2
33 !ERROR: 'incommonf1' is storage associated with 'incommonf2' by EQUIVALENCE elsewhere in COMMON block /f/
34 common /f/ inCommonF1, inCommonF2
35 !Regression test for llvm-project/issues/65922 - no error expected
36 common /g/ inCommonG1, inCommonG2
37 real inCommonG1(-9:10), inCommonG2(10), otherG(11)
38 equivalence (inCommonG1(1), otherG), (otherG(11), inCommonG2)
39 end block data