blob: 8b043ba33ed3cbc7575a942ea0ba6451673bd5ce (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
! { dg-do run }
! { dg-options "-O3" }
! From forall_12.f90
! Fails with loop reversal at -O3
!
character(len=1) :: b(4) = (/"1","2","3","4"/), c(4)
c = b
i = 1
! This statement must be here for the abort below
b(1:3)(i:i) = b(2:4)(i:i)
b = c
b(4:2:-1)(i:i) = b(3:1:-1)(i:i)
! This fails. If the condition is printed, the result is F F F F
if (any (b .ne. (/"1","1","2","3"/))) i = 2
print *, b
print *, b .ne. (/"1","1","2","3"/)
if (i == 2) call abort
end
|