1! { dg-do compile } 2! PR Fortran/83548 3program foo 4 5 implicit none 6 7 logical, parameter :: t = .true., f = .false. 8 logical, parameter :: a1(2) = [t, f] 9 logical(kind=1), parameter :: a2(2) = [logical(kind=1) :: t, f] 10 logical(kind=4), parameter :: a3(2) = [logical(kind=4) :: t, f] 11 logical(kind=1), parameter :: a4(2) = [logical(t, 1), logical(f, 1)] 12 logical(kind=4), parameter :: a5(2) = [logical(t, 4), logical(f, 4)] 13 logical(kind=1) b(2) 14 logical(kind=4) c(2) 15 16 real, parameter :: x = 1, y = 2 17 real, parameter :: r1(2) = [x, y] 18 real(kind=4), parameter :: r2(2) = [real(kind=4) :: x, y] 19 real(kind=8), parameter :: r3(2) = [real(kind=8) :: x, y] 20 real(kind=4), parameter :: r4(2) = [real(x, 4), real(y, 4)] 21 real(kind=8), parameter :: r5(2) = [real(x, 8), real(y, 8)] 22 real(kind=4) p(2) 23 real(kind=8) q(2) 24 25 p = [real(kind=4) :: x, y] 26 q = [real(kind=8) :: x, y] 27 if (any(p .ne. r2)) STOP 1 28 if (any(q .ne. r3)) STOP 2 29end program foo 30