PR ipa/83051
[official-gcc.git] / gcc / testsuite / gfortran.dg / pr44592.f90
blob8b043ba33ed3cbc7575a942ea0ba6451673bd5ce
1 ! { dg-do run }
2 ! { dg-options "-O3" }
3 ! From forall_12.f90
4 ! Fails with loop reversal at -O3
6 character(len=1) :: b(4) = (/"1","2","3","4"/), c(4)
7 c = b
8 i = 1
9 ! This statement must be here for the abort below
10 b(1:3)(i:i) = b(2:4)(i:i)
12 b = c
13 b(4:2:-1)(i:i) = b(3:1:-1)(i:i)
15 ! This fails. If the condition is printed, the result is F F F F
16 if (any (b .ne. (/"1","1","2","3"/))) i = 2
17 print *, b
18 print *, b .ne. (/"1","1","2","3"/)
19 if (i == 2) call abort
20 end