aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2011-10-17 11:46:30 +0200
committerJanus Weil <janus@gcc.gnu.org>2011-10-17 11:46:30 +0200
commitfbe468a522abdbb39cc15058b8aef9ba221283db (patch)
tree511d677a998ff7d7be135ed874b6396f4229e1c1
parenta7fc89c1b85e10613ac52d85a5aefeaef1d121ca (diff)
downloadgcc-fbe468a522abdbb39cc15058b8aef9ba221283db.zip
gcc-fbe468a522abdbb39cc15058b8aef9ba221283db.tar.gz
gcc-fbe468a522abdbb39cc15058b8aef9ba221283db.tar.bz2
re PR fortran/47023 (C_Sizeof: Rejects valid code)
2011-10-17 Janus Weil <janus@gcc.gnu.org> PR fortran/47023 PR fortran/50752 * primary.c (match_kind_param): Avoid segfault. 2011-10-17 Janus Weil <janus@gcc.gnu.org> PR fortran/47023 PR fortran/50752 * gfortran.dg/kind_tests_4.f90: New. From-SVN: r180079
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/primary.c4
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/gfortran.dg/kind_tests_4.f908
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