PR fortran/95106 - truncation of long symbol names with EQUIVALENCE
For long module names, the generated name-mangled symbol was truncated, leading to bogus warnings about COMMON block mismatches. Provide sufficiently large temporaries. gcc/fortran/ 2020-05-24 Harald Anlauf <anlauf@gmx.de> PR fortran/95106 * trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries for name-mangling. gcc/testsuite/ 2020-05-24 Harald Anlauf <anlauf@gmx.de> PR fortran/95106 * gfortran.dg/equiv_11.f90: New test.
This commit is contained in:
parent
392bc7d213
commit
d176184d98
|
@ -1,3 +1,9 @@
|
|||
2020-05-24 Harald Anlauf <anlauf@gmx.de>
|
||||
|
||||
PR fortran/95106
|
||||
* trans-common.c (gfc_sym_mangled_common_id): Enlarge temporaries
|
||||
for name-mangling.
|
||||
|
||||
2020-05-23 Thomas Koenig <tkoenig@gcc.gnu.org>
|
||||
|
||||
PR libfortran/95191
|
||||
|
|
|
@ -242,8 +242,9 @@ static tree
|
|||
gfc_sym_mangled_common_id (gfc_common_head *com)
|
||||
{
|
||||
int has_underscore;
|
||||
char mangled_name[GFC_MAX_MANGLED_SYMBOL_LEN + 1];
|
||||
char name[GFC_MAX_SYMBOL_LEN + 1];
|
||||
/* Provide sufficient space to hold "symbol.eq.1234567890__". */
|
||||
char mangled_name[GFC_MAX_MANGLED_SYMBOL_LEN + 1 + 16];
|
||||
char name[GFC_MAX_SYMBOL_LEN + 1 + 16];
|
||||
|
||||
/* Get the name out of the common block pointer. */
|
||||
strcpy (name, com->name);
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2020-05-24 Harald Anlauf <anlauf@gmx.de>
|
||||
|
||||
PR fortran/95106
|
||||
* gfortran.dg/equiv_11.f90: New test.
|
||||
|
||||
2020-05-23 Patrick Palka <ppalka@redhat.com>
|
||||
|
||||
PR c++/94038
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
! { dg-do compile }
|
||||
! { dg-options "-fsecond-underscore" }
|
||||
! PR fortran/95106
|
||||
|
||||
module m2345678901234567890123456789012345678901234567890123456789_123
|
||||
implicit none
|
||||
real :: a(4), u(3,2)
|
||||
real :: b(4), v(4,2)
|
||||
equivalence (a(1),u(1,1)), (b(1),v(1,1))
|
||||
end
|
||||
! { dg-final { scan-assembler {m2345678901234567890123456789012345678901234567890123456789_123.eq.0__} } }
|
||||
! { dg-final { scan-assembler {m2345678901234567890123456789012345678901234567890123456789_123.eq.1__} } }
|
Loading…
Reference in New Issue