aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/parse.c
diff options
context:
space:
mode:
authorAndrew Benson <abenson@carnegiescience.edu>2020-01-28 17:58:40 +0000
committerAndrew Benson <abenson@carnegiescience.edu>2020-01-28 18:02:49 +0000
commita83b5cc5828ee34471de415e8893242dd3b0a91b (patch)
tree3a4b51a3c966fa78965f48a5c7a8c5b4af89493e /gcc/fortran/parse.c
parent3d056cbfb3484f4037b34c908b26e1c6776c86b5 (diff)
downloadgcc-a83b5cc5828ee34471de415e8893242dd3b0a91b.zip
gcc-a83b5cc5828ee34471de415e8893242dd3b0a91b.tar.gz
gcc-a83b5cc5828ee34471de415e8893242dd3b0a91b.tar.bz2
Allow concatenated module+submodule names.
Increase length of char variables "parent1" and "parent2" in set_syms_host_assoc() to allow them to hold concatenated module + submodule names. PR fortran/93473 * parse.c: Increase length of char variables to allow them to hold a concatenated module + submodule name. * gfortran.dg/pr93473.f90: New test.
Diffstat (limited to 'gcc/fortran/parse.c')
-rw-r--r--gcc/fortran/parse.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/fortran/parse.c b/gcc/fortran/parse.c
index 4bff0c8..f71a95d 100644
--- a/gcc/fortran/parse.c
+++ b/gcc/fortran/parse.c
@@ -6045,8 +6045,9 @@ set_syms_host_assoc (gfc_symbol *sym)
{
gfc_component *c;
const char dot[2] = ".";
- char parent1[GFC_MAX_SYMBOL_LEN + 1];
- char parent2[GFC_MAX_SYMBOL_LEN + 1];
+ /* Symbols take the form module.submodule_ or module.name_. */
+ char parent1[2 * GFC_MAX_SYMBOL_LEN + 2];
+ char parent2[2 * GFC_MAX_SYMBOL_LEN + 2];
if (sym == NULL)
return;