[Bug fortran/86945] BUG with optimisation of select case statement in gfortran v8.x
anlauf at gmx dot de
gcc-bugzilla@gcc.gnu.org
Tue Aug 14 21:55:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=86945
--- Comment #3 from Harald Anlauf <anlauf at gmx dot de> ---
Self contained alternative testcase:
program test
implicit none
integer, volatile :: id,ierr
id = 1
print*,'id=',id
call foo1 ()
print*,'ierr1, OK = ',ierr, ierr == 0
call foo2 ()
print*,'ierr2, OK = ',ierr, ierr == 0
contains
subroutine foo1 ()
select case(id)
case(-HUGE(0):-1)
ierr = id
case default
ierr = 0
end select
end subroutine foo1
subroutine foo2 ()
select case(id)
! case(-HUGE(0)-1:-1)
case( :-1)
ierr = id
case default
ierr = 0
end select
end subroutine foo2
end program test
With -O0:
id= 1
ierr1, OK = 0 T
ierr2, OK = 0 T
With -Og, -O1 and higher:
id= 1
ierr1, OK = 0 T
ierr2, OK = 1 F
More information about the Gcc-bugs
mailing list