111
|
1 ! { dg-do run }
|
|
2 ! { dg-options "-std=legacy" }
|
|
3 !
|
|
4 ! Check that NULs don't mess up constant substring simplification
|
|
5 CHARACTER(5), parameter :: c0(1) = (/ "123" // ACHAR(0) // "5" /)
|
|
6 CHARACTER*5 c(1)
|
|
7 CHARACTER(1), parameter :: c1(5) = (/ "1", "2", "3", ACHAR(0), "5" /)
|
|
8
|
|
9 c = (/ c0(1)(1:5) /)
|
|
10 do i=1,5
|
131
|
11 if (c(1)(i:i) /= c1(i)) STOP 2
|
111
|
12
|
|
13 ! Make NULs visible (and avoid corrupting text output).
|
|
14 if (c(1)(i:i) == ACHAR(0)) then
|
|
15 print "(a,$)", "<NUL>"
|
|
16 else
|
|
17 print "(a,$)", c(1)(i:i)
|
|
18 end if
|
|
19 end do
|
|
20
|
|
21 print *, ""
|
|
22
|
|
23 end
|