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 | |
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')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/primary.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 5b1ed77..20894cb 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +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. + 2008-07-09 Paul Thomas <pault@gcc.gnu.org> PR fortran/40629 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; |