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 <ja...@gcc.gnu.org> 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)