view gcc/testsuite/gfortran.dg/pr44592.f90 @ 127:4c56639505ff

fix function.c and add CbC-example Makefile
author mir3636
date Wed, 11 Apr 2018 18:46:58 +0900
parents 04ced10e8804
children 84e7813d76e9
line wrap: on
line source

! { 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