This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/48291] internal compiler error, new_symbol(): Symbol name too long
- From: "adrian at llnl dot gov" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 25 Mar 2011 22:01:19 +0000
- Subject: [Bug fortran/48291] internal compiler error, new_symbol(): Symbol name too long
- Auto-submitted: auto-generated
- References: <bug-48291-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48291
Adrian Prantl <adrian at llnl dot gov> changed:
What |Removed |Added
----------------------------------------------------------------------------
Version|4.6.0 |4.3.0
--- Comment #2 from Adrian Prantl <adrian at llnl dot gov> 2011-03-25 22:01:16 UTC ---
It seems to concatenate at least the name of the module with the name of the
derived type:
The culprit is in fortran/class.c:113
/* Create a unique string identifier for a derived type, composed of its name
and module name. This is used to construct unique names for the class
containers and vtab symbols. */
static void
get_unique_type_string (char *string, gfc_symbol *derived)
{
char dt_name[GFC_MAX_SYMBOL_LEN+1];
sprintf (dt_name, "%s", derived->name);
dt_name[0] = TOUPPER (dt_name[0]);
if (derived->module)
sprintf (string, "%s_%s", derived->module, dt_name);
else if (derived->ns->proc_name)
sprintf (string, "%s_%s", derived->ns->proc_name->name, dt_name);
else
sprintf (string, "_%s", dt_name);
}