2 ! { dg-options "-fdump-tree-optimized -O" }
10 integer(c_intptr_t) :: a
11 integer(transfer(transfer(4_c_intptr_t, c_null_ptr),1_c_intptr_t)) :: b
12 a = transfer (transfer("ABCE", m), 1_c_intptr_t)
14 if ( int(z'45434241') /= a &
15 .and. int(z'41424345') /= a &
16 .and. int(z'4142434500000000',kind=8) /= a) &
20 ! Examples contributed by Steve Kargl and James Van Buskirk
30 print *, transfer(32512, x) ! Works.
31 print *, transfer(32512, m) ! Caused ICE.
46 integer(C_INTPTR_T), parameter :: const(*) = [32512,32520]
49 array = transfer([integer(C_INTPTR_T)::32512,32520],array)
50 ! write(*,*) transfer(result,const)
51 ! write(*,*) transfer(array,const)
58 fun = transfer(32512_C_INTPTR_T,fun)
61 ! { dg-final { scan-tree-dump-times "i_do_not_exist" 0 "optimized" } }
62 ! { dg-final { cleanup-tree-dump "optimized" } }