llvm/flang/test/Semantics/oldparam01.f90

! RUN: %flang_fc1 -falternative-parameter-statement -fdebug-dump-symbols %s 2>&1 | FileCheck %s

! Non-error tests for "old style" PARAMETER statements

type :: t
  integer(kind=4) :: n
end type
!CHECK: x1, PARAMETER size=4 offset=0: ObjectEntity type: INTEGER(4) init:1_4
parameter x1 = 1_4 ! integer scalar
!CHECK: x2, PARAMETER size=4 offset=4: ObjectEntity type: INTEGER(4) shape: 1_8:1_8 init:[INTEGER(4)::2_4]
parameter x2 = [2_4] ! integer vector
!CHECK: x3, PARAMETER size=4 offset=8: ObjectEntity type: TYPE(t) init:t(n=3_4)
parameter x3 = t(3) ! derived scalar
!CHECK: x4, PARAMETER size=8 offset=12: ObjectEntity type: TYPE(t) shape: 1_8:2_8 init:[t::t(n=4_4),t(n=5_4)]
parameter x4 = [t(4), t(5)] ! derived vector
!CHECK: x5, PARAMETER size=3 offset=20: ObjectEntity type: CHARACTER(3_8,1) init:"abc"
parameter x5 = 1_"abc" ! character scalar
!CHECK: x6, PARAMETER size=12 offset=23: ObjectEntity type: CHARACTER(4_8,1) shape: 1_8:3_8 init:[CHARACTER(KIND=1,LEN=4)::"defg","h   ","ij  "]
parameter x6 = [1_"defg", 1_"h", 1_"ij"] ! character scalar
!CHECK: x7, PARAMETER size=4 offset=36: ObjectEntity type: INTEGER(4) init:5_4
!CHECK: x8, PARAMETER size=4 offset=40: ObjectEntity type: INTEGER(4) init:4_4
parameter x7 = 2+3, x8 = 4 ! folding, multiple definitions
!CHECK: x9, PARAMETER size=4 offset=44: ObjectEntity type: LOGICAL(4) init:.true._4
parameter x9 = .true.
end