http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51809
Tobias Burnus <burnus at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |ice-on-valid-code
CC| |burnus at gcc dot gnu.org,
| |janus at gcc dot gnu.org,
| |pault at gcc dot gnu.org
Target Milestone|--- |4.7.0
Summary|[4.7 Regression] ICE (use |[4.7 Regression][OOP] ICE
|statements order) |(segfault) depending on USE
| |statements order
--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-10
10:40:59 UTC ---
Unless I made a mistake when bisecting:
Working
4.7.0 20111109 - Rev. 181198
Failing
4.7.0 20111109 - Rev. 181199
That's
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181199
2011-11-09 Janus Weil <[email protected]>
PR fortran/50960
* class.c (gfc_find_derived_vtab): Make the vtab symbols FL_PARAMETER.
* expr.c (gfc_simplify_expr): Prevent vtabs from being replaced with
their value.
* resolve.c (resolve_values): Use-associated symbols do not need to
be resolved again.
(resolve_fl_parameter): Make sure the symbol has a value.
Valgrind shows:
==2177== Invalid read of size 8
==2177== at 0x553580: mio_pointer_ref(void*) (module.c:2463)
==2177== by 0x5555A8: mio_symbol_ref(gfc_symbol**) (module.c:2726)
==2177== by 0x5560E8: mio_expr(gfc_expr**) (module.c:3305)
==2177== by 0x55643D: mio_expr(gfc_expr**) (module.c:2855)
==2177== by 0x55703B: mio_symbol(gfc_symbol*) (module.c:3782)
==2177== by 0x5572B5: write_symbol(int, gfc_symbol*) (module.c:5027)
==2177== by 0x5591B5: write_symbol0(gfc_symtree*) (module.c:5067)
==2177== by 0x559158: write_symbol0(gfc_symtree*) (module.c:5046)
==2177== by 0x559158: write_symbol0(gfc_symtree*) (module.c:5046)
==2177== by 0x559158: write_symbol0(gfc_symtree*) (module.c:5046)
==2177== by 0x559804: gfc_dump_module(char const*, int) (module.c:5243)
==2177== by 0x564CCA: gfc_parse_file() (parse.c:4603)