c: Fix up pointer types to may_alias structures [PR114493]
[official-gcc.git] / gcc / testsuite / gfortran.dg / transfer_simplify_14.f90
blobdfb997d81b2dd52e5e3786abbbe4c8d82aa54c3b
1 ! { dg-do compile }
2 ! { dg-options "-fdump-tree-original" }
3 ! PR fortran/104128 - ICE in gfc_widechar_to_char
4 ! Contributed by G.Steinmetz
6 program p
7 implicit none
8 integer, parameter :: k = 4
9 character(*), parameter :: a = 'abc'
10 character(*,kind=4), parameter :: b = 'abc'
11 character(2,kind=k), parameter :: s = k_"FG"
12 character(*,kind=1), parameter :: x = transfer (s, 'abcdefgh')
13 character(2,kind=k), parameter :: t = transfer (x, s)
14 character(2,kind=k) :: u = transfer (x, s)
15 logical, parameter :: l = (s == t)
16 print *, transfer (a , 4_'xy', size=2)
17 print *, transfer ('xyz', [b], size=2)
18 print *, s
19 print *, t
20 print *, u
21 if (.not. l) stop 1
22 if (t /= s) stop 2
23 if (u /= s) stop 3 ! not optimized away
24 end
26 ! { dg-final { scan-tree-dump-times "_gfortran_stop_numeric" 1 "original" } }
27 ! { dg-final { scan-tree-dump "_gfortran_stop_numeric \\(3, 0\\);" "original" } }