This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
For various reasons the gfortran parser sometimes creates symbols for variables which don't exist. This is fairly harmless, except that things fall over later on when we try and create tree nodes for these incomplete symbols. The proper fix would be to avoid createing/adding these symbols. Until such a fix appears I've worked around it by ignoring any obviously broken symbols. Applied to tree-ssa branch. Paul 2003-10-13 Paul Brook <paul@nowt.org> * trans-decl.c (generate_local_decl): Don't create junk variables. --- clean/tree-ssa/gcc/fortran/trans-decl.c +++ gcc/gcc/fortran/trans-decl.c @@ -1768,6 +1768,17 @@ generate_local_decl (gfc_symbol * sym) { if (sym->attr.flavor == FL_VARIABLE) { + /* TODO: The frontend sometimes creates symbols for things which don't + actually exist. E.g. common block names and the names of formal + arguments. The latter are created while attempting to parse + the argument list as a substring reference. + + The proper fix is to avoid adding these symbols in the first place. + For now we hack round it by ignoring anything with an unknown type. + */ + if (sym->ts.type == BT_UNKNOWN) + return; + if (sym->attr.referenced) gfc_get_symbol_decl (sym); else if (sym->attr.dummy)
Attachment:
named_args.f90
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |