http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47085

janus at gcc dot gnu.org changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2010.12.29 22:39:46
     Ever Confirmed|0                           |1

--- Comment #1 from janus at gcc dot gnu.org 2010-12-29 22:39:46 UTC ---
I have reduced the test case quite a bit, while maintaining the valgrind error:


program ppde
  implicit none

  type :: t0
  end type

  type, extends(t0) :: t1
    integer, allocatable :: c(:)
  end type

  class(t0), allocatable :: x, y

  allocate(t1 :: x)
  allocate(y, source=x) 

end


When compiling this with -g and running under valgrind, I get:

==26472== Conditional jump or move depends on uninitialised value(s)
==26472==    at 0x4009B7: __copy_ppde_t1.1550 (ppde.f90:1)
==26472==    by 0x400AD1: MAIN__ (ppde.f90:16)
==26472==    by 0x400B74: main (ppde.f90:16)

This means the error happens inside the copying routine of the extended type,
and seems to be related to the allocatable component. In the original test case
the error message appeared in a triple, because three allocatable components
were involved. This is the same issue as described in PR 46408.

Reply via email to