From fbe468a522abdbb39cc15058b8aef9ba221283db Mon Sep 17 00:00:00 2001 From: Janus Weil Date: Mon, 17 Oct 2011 11:46:30 +0200 Subject: [PATCH] re PR fortran/47023 (C_Sizeof: Rejects valid code) 2011-10-17 Janus Weil PR fortran/47023 PR fortran/50752 * primary.c (match_kind_param): Avoid segfault. 2011-10-17 Janus Weil PR fortran/47023 PR fortran/50752 * gfortran.dg/kind_tests_4.f90: New. From-SVN: r180079 --- gcc/fortran/ChangeLog | 6 ++++++ gcc/fortran/primary.c | 4 ++-- gcc/testsuite/ChangeLog | 6 ++++++ gcc/testsuite/gfortran.dg/kind_tests_4.f90 | 8 ++++++++ 4 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 gcc/testsuite/gfortran.dg/kind_tests_4.f90 diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index 1d515dc1069a..4866956dd351 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,3 +1,9 @@ +2011-10-17 Janus Weil + + PR fortran/47023 + PR fortran/50752 + * primary.c (match_kind_param): Avoid segfault. + 2011-10-16 Thomas Koenig * frontend-passes.c (current_ns): Make static. diff --git a/gcc/fortran/primary.c b/gcc/fortran/primary.c index 748185ae72b0..23dc0b66400d 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 496d661012ab..4828e0994041 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,9 @@ +2011-10-17 Janus Weil + + PR fortran/47023 + PR fortran/50752 + * gfortran.dg/kind_tests_4.f90: New. + 2011-10-17 Ira Rosen * 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 000000000000..050c15a282be --- /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 + +rPos=0.0_dp ! { dg-error "Missing kind-parameter" } +end -- 2.39.5