diff options
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/primary.c | 4 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/kind_tests_4.f90 | 8 |
4 files changed, 22 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1d515dc..4866956 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2011-10-17 Janus Weil <janus@gcc.gnu.org> + + PR fortran/47023 + PR fortran/50752 + * primary.c (match_kind_param): Avoid segfault. + 2011-10-16 Thomas Koenig <tkoenig@gcc.gnu.org> * frontend-passes.c (current_ns): Make static. diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index 748185a..23dc0b6 100644 --- a/gcc/fortran/primary.c +++ b/gcc/fortran/primary.c @@ -57,11 +57,11 @@ match_kind_param (int *kind, int *is_iso_c) if (gfc_find_symbol (name, NULL, 1, &sym)) return MATCH_ERROR; - *is_iso_c = sym->attr.is_iso_c; - if (sym == NULL) return MATCH_NO; + *is_iso_c = sym->attr.is_iso_c; + if (sym->attr.flavor != FL_PARAMETER) return MATCH_NO; diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 496d661..4828e09 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2011-10-17 Janus Weil <janus@gcc.gnu.org> + + PR fortran/47023 + PR fortran/50752 + * gfortran.dg/kind_tests_4.f90: New. + 2011-10-17 Ira Rosen <ira.rosen@linaro.org> * gcc.dg/vect/vect-21.c: Expect the loops to get vectorized on diff --git a/gcc/testsuite/gfortran.dg/kind_tests_4.f90 b/gcc/testsuite/gfortran.dg/kind_tests_4.f90 new file mode 100644 index 0000000..050c15a --- /dev/null +++ b/gcc/testsuite/gfortran.dg/kind_tests_4.f90 @@ -0,0 +1,8 @@ +! { dg-do compile } +! +! PR 50752: [4.7 Regression] ICE in match_kind_param +! +! Contributed by Joost VandeVondele <Joost.VandeVondele@pci.uzh.ch> + +rPos=0.0_dp ! { dg-error "Missing kind-parameter" } +end |