[flang] Accept polymorphic component element in storage_size
[llvm-project.git] / flang / test / Semantics / declarations02.f90
blob016888fff5e1db0c520aaad0593c833c1c28672b
1 ! RUN: %python %S/test_errors.py %s %flang_fc1
3 module m
4 !ERROR: 'x1' may not have both the BIND(C) and PARAMETER attributes
5 integer, parameter, bind(c, name="a") :: x1 = 1
6 !ERROR: 'x2' may not have both the BIND(C) and PARAMETER attributes
7 integer, bind(c), parameter :: x2 = 1
9 !ERROR: 'x3' may not have both the BIND(C) and PARAMETER attributes
10 integer, parameter :: x3 = 1
11 bind(c) :: x3
13 type :: my_type1
14 integer :: x4
15 end type
16 type, bind(c) :: my_type2
17 integer :: x5
18 end type
20 !ERROR: 't1' may not have both the BIND(C) and PARAMETER attributes
21 type(my_type1), bind(c), parameter :: t1 = my_type1(1)
22 !ERROR: 't2' may not have both the BIND(C) and PARAMETER attributes
23 type(my_type2), bind(c), parameter :: t2 = my_type2(1)
25 type(my_type2), parameter :: t3 = my_type2(1) ! no error
26 !ERROR: 't4' may not have both the BIND(C) and PARAMETER attributes
27 type(my_type1), parameter :: t4 = my_type1(1)
28 !ERROR: 't5' may not have both the BIND(C) and PARAMETER attributes
29 type(my_type2), parameter :: t5 = my_type2(1)
30 bind(c) :: t4, t5
32 end