aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/primary.c
diff options
context:
space:
mode:
authorPaul Thomas <pault@gcc.gnu.org>2009-07-10 04:37:19 +0000
committerPaul Thomas <pault@gcc.gnu.org>2009-07-10 04:37:19 +0000
commit1d8e1d5d9f87473eb7cae2c3b4109beeb87ce3da (patch)
treeacac293dc5f471528a2212769313f49c38c37ac8 /gcc/fortran/primary.c
parentb9263ae5900c9881553383d8c66ea25a2b02e52c (diff)
downloadgcc-1d8e1d5d9f87473eb7cae2c3b4109beeb87ce3da.zip
gcc-1d8e1d5d9f87473eb7cae2c3b4109beeb87ce3da.tar.gz
gcc-1d8e1d5d9f87473eb7cae2c3b4109beeb87ce3da.tar.bz2
re PR fortran/39334 (Recusive parameter kind produces segfault)
2009-07-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/39334 * primary.c (match_kind_param): Return MATCH_NO if the symbol has no value. 2009-07-10 Paul Thomas <pault@gcc.gnu.org> PR fortran/39334 * gfortran.dg/recursive_parameter_1.f90: New test. From-SVN: r149456
Diffstat (limited to 'gcc/fortran/primary.c')
-rw-r--r--gcc/fortran/primary.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c
index 4a84aed..8013cc8 100644
--- a/gcc/fortran/primary.c
+++ b/gcc/fortran/primary.c
@@ -57,6 +57,9 @@ match_kind_param (int *kind)
if (sym->attr.flavor != FL_PARAMETER)
return MATCH_NO;
+ if (sym->value == NULL)
+ return MATCH_NO;
+
p = gfc_extract_int (sym->value, kind);
if (p != NULL)
return MATCH_NO;