This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/51435] [4.6/4.7 Regression] Bad association status after null() of derived type component
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 06 Dec 2011 10:08:32 +0000
- Subject: [Bug fortran/51435] [4.6/4.7 Regression] Bad association status after null() of derived type component
- Auto-submitted: auto-generated
- References: <bug-51435-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51435
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |wrong-code
CC| |burnus at gcc dot gnu.org
Target Milestone|--- |4.6.3
Summary|Bad association status |[4.6/4.7 Regression] Bad
|after null() of derived |association status after
|type component |null() of derived type
| |component
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-12-06 10:08:32 UTC ---
With GCC 4.3, 4.4 and 4.5, I get:
do_job my_data%head is NOT associated
while GCC 4.6 prints
do_job my_data%head is associated
With GCC 4.7 I get the correct result ("NOT associated") but it shows the same
valgrind warning as GCC 4.6. (GCC 4.5 shows no valgrind warning.) Thus, either
the issue is fixed in 4.7 - and 4.6 and 4.7 have additional issues. Or it works
in 4.7 only by chance.
==19540== Conditional jump or move depends on uninitialised value(s)
==19540== at 0x400776: __worker_mod_MOD_do_job (hjhjff.f90:29)
==19540== by 0x400849: MAIN__ (hjhjff.f90:47)
==19540== by 0x40087F: main (hjhjff.f90:44)
Line 29 is:
if (associated(dum%my_data%head)) then