diff options
author | Paul Thomas <pault@gcc.gnu.org> | 2009-07-10 04:37:19 +0000 |
---|---|---|
committer | Paul Thomas <pault@gcc.gnu.org> | 2009-07-10 04:37:19 +0000 |
commit | 1d8e1d5d9f87473eb7cae2c3b4109beeb87ce3da (patch) | |
tree | acac293dc5f471528a2212769313f49c38c37ac8 /gcc/fortran/primary.c | |
parent | b9263ae5900c9881553383d8c66ea25a2b02e52c (diff) | |
download | gcc-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.c | 3 |
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; |