diff options
author | Janus Weil <janus@gcc.gnu.org> | 2011-03-26 19:39:14 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2011-03-26 19:39:14 +0100 |
commit | cb83a137db640e7af9ce13ea9d42b2f90f0442cd (patch) | |
tree | 6058a9efadc39d973152a850c63e02643c831938 /gcc/fortran/class.c | |
parent | f7b8b261e78a327c70188a30778eb1268c91cdec (diff) | |
download | gcc-cb83a137db640e7af9ce13ea9d42b2f90f0442cd.zip gcc-cb83a137db640e7af9ce13ea9d42b2f90f0442cd.tar.gz gcc-cb83a137db640e7af9ce13ea9d42b2f90f0442cd.tar.bz2 |
re PR fortran/48291 ([OOP] internal compiler error, new_symbol(): Symbol name too long)
2011-03-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/48291
* class.c (get_unique_hashed_string): Adjust maximum allowable length
for unique type string.
2011-03-26 Janus Weil <janus@gcc.gnu.org>
PR fortran/48291
* gfortran.dg/class_42.f03: New.
From-SVN: r171559
Diffstat (limited to 'gcc/fortran/class.c')
-rw-r--r-- | gcc/fortran/class.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/fortran/class.c b/gcc/fortran/class.c index 85da3cb..b99930a 100644 --- a/gcc/fortran/class.c +++ b/gcc/fortran/class.c @@ -137,9 +137,9 @@ get_unique_hashed_string (char *string, gfc_symbol *derived) { char tmp[2*GFC_MAX_SYMBOL_LEN+2]; get_unique_type_string (&tmp[0], derived); - /* If string is too long, use hash value in hex representation - (allow for extra decoration, cf. gfc_build_class_symbol)*/ - if (strlen (tmp) > GFC_MAX_SYMBOL_LEN - 10) + /* If string is too long, use hash value in hex representation (allow for + extra decoration, cf. gfc_build_class_symbol & gfc_find_derived_vtab). */ + if (strlen (tmp) > GFC_MAX_SYMBOL_LEN - 11) { int h = gfc_hash_value (derived); sprintf (string, "%X", h); |