[Bug fortran/88364] [9 Regression] Wrong-code due to CLOBBER
jakub at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Dec 5 10:44:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88364
Jakub Jelinek <jakub at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords|ice-on-valid-code |wrong-code
CC| |tkoenig at gcc dot gnu.org
Target Milestone|--- |9.0
--- Comment #1 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Testcase (FAILs with -O2):
module pr88364
implicit none
type t
integer :: b = -1
integer :: c = 2
end type t
contains
subroutine f1 (x)
integer, intent(out) :: x
x = 5
end subroutine f1
subroutine f2 ()
type(t) :: x
call f1 (x%b)
if (x%b .ne. 5 .or. x%c .ne. 2) stop 1
end subroutine f2
end module pr88364
use pr88364
call f2
end
If t doesn't have c field, it would be ok to clobber whole x, even when we want
to clobber just x%b, because x%b occupies all bits of x.
Likely started with r264506 aka PR41453 fix.
More information about the Gcc-bugs
mailing list