https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95106
--- Comment #2 from anlauf at gcc dot gnu.org --- Something like diff --git a/gcc/fortran/trans-common.c b/gcc/fortran/trans-common.c index bf163bc4f52..06313873002 100644 --- a/gcc/fortran/trans-common.c +++ b/gcc/fortran/trans-common.c @@ -242,8 +242,8 @@ 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]; + char mangled_name[GFC_MAX_MANGLED_SYMBOL_LEN + 10]; + char name[GFC_MAX_SYMBOL_LEN + 10]; /* Get the name out of the common block pointer. */ strcpy (name, com->name); prevents the truncation of the mangled name, including the .eq.0123_ part.