[Bug fortran/55978] [4.8 Regression] class_optional_2.f90 -Os fails
tkoenig at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jan 14 21:30:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55978
--- Comment #1 from Thomas Koenig <tkoenig at gcc dot gnu.org> 2013-01-14 21:29:25 UTC ---
For -O0, valgrind complains about
==15263== Conditional jump or move depends on uninitialised value(s)
==15263== at 0x4F26355: _gfortran_internal_pack (in_pack_generic.c:54)
==15263== by 0x403762: a3a1.2119 (in /home/ig25/Krempel/Os/a.out)
==15263== by 0x400B26: MAIN__ (in /home/ig25/Krempel/Os/a.out)
==15263== by 0x408F0E: main (in /home/ig25/Krempel/Os/a.out)
and
==15263==
==15263== Conditional jump or move depends on uninitialised value(s)
==15263== at 0x4F26447: _gfortran_internal_pack (in_pack_generic.c:159)
==15263== by 0x403762: a3a1.2119 (in /home/ig25/Krempel/Os/a.out)
==15263== by 0x400B26: MAIN__ (in /home/ig25/Krempel/Os/a.out)
==15263== by 0x408F0E: main (in /home/ig25/Krempel/Os/a.out)
which is
size = GFC_DESCRIPTOR_SIZE (source);
switch (type_size)
and
dim = GFC_DESCRIPTOR_RANK (source);
respectively.
Reduced test case (run with -fcoarray=single):
! { dg-do run }
! { dg-options "-fcoarray=single" }
!
! PR fortran/50981
! PR fortran/54618
!
implicit none
type t
integer, allocatable :: i
end type t
type, extends (t):: t2
integer, allocatable :: j
end type t2
call a3a()
contains
subroutine a3a(z, z2, z3)
type(t2), optional :: z(4)
type(t2), optional, pointer :: z2(:)
type(t2), optional, allocatable :: z3(:)
type(t2), allocatable :: x(:)
type(t2), pointer :: y(:)
y => null()
call a4t2(y)
end subroutine a3a
subroutine a4t2(x)
type(t2), intent(in), optional :: x(4)
if (present (x)) call abort ()
!print *, present(x)
end subroutine a4t2
end
More information about the Gcc-bugs
mailing list