re PR fortran/47023 (C_Sizeof: Rejects valid code)
authorJanus Weil <janus@gcc.gnu.org>
Mon, 17 Oct 2011 09:46:30 +0000 (11:46 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Mon, 17 Oct 2011 09:46:30 +0000 (11:46 +0200)
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

gcc/fortran/ChangeLog
gcc/fortran/primary.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/kind_tests_4.f90 [new file with mode: 0644]

index 1d515dc1069a068f1781283a3d73569f3b41194b..4866956dd351704971ed8a4554ef1555d2948bfd 100644 (file)
@@ -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.
index 748185ae72b085e82d51719c5c35ed87edd3ff0f..23dc0b66400dd16d4a17e70f3ff884a25f2eed9b 100644 (file)
@@ -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;
 
index 496d661012abf072ef339b5abd8e9aa5f043bfc2..4828e0994041142d1f305d19dc3a1c910fde23c0 100644 (file)
@@ -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 (file)
index 0000000..050c15a
--- /dev/null
@@ -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