[Bug fortran/59023] [4.9 regression] ICE in gfc_search_interface with BIND(C)
janus at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Dec 30 20:00:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59023
--- Comment #8 from janus at gcc dot gnu.org ---
I had a closer look at what actually changes with the patch in comment 7, and
found out that the crucial part is that the patch does not set the 'ns' member
of the gsymbol. This observation leads to a much simpler patch to fix the ICE:
Index: gcc/fortran/resolve.c
===================================================================
--- gcc/fortran/resolve.c (revision 206249)
+++ gcc/fortran/resolve.c (working copy)
@@ -10164,7 +10164,6 @@ gfc_verify_binding_labels (gfc_symbol *sym)
gsym->sym_name = sym->name;
gsym->binding_label = sym->binding_label;
gsym->binding_label = sym->binding_label;
- gsym->ns = sym->ns;
gsym->mod_name = module;
if (sym->attr.function)
gsym->type = GSYM_FUNCTION;
Unfortunately I still don't really understand *why* this fixes the ICE.
Moreover, it still fails on some binding_label_tests_*.
(Btw, also one of the duplicate lines, which set the binding_label, should be
removed.)
More information about the Gcc-bugs
mailing list