]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR fortran/85780 (ICE in resolve_fl_procedure, at fortran/resolve.c:12504)
authorSteven G. Kargl <kargl@gcc.gnu.org>
Fri, 25 May 2018 19:54:51 +0000 (19:54 +0000)
committerSteven G. Kargl <kargl@gcc.gnu.org>
Fri, 25 May 2018 19:54:51 +0000 (19:54 +0000)
2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/85780
Backport from trunk
* resolve.c (resolve_fl_procedure): Avoid NULL dereference.

2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>

PR fortran/85780
Backport from trunk
* gfortran.dg/pr85780.f90: New test.

From-SVN: r260777

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

index 116750cc641d0e09f2d62428f7ef883ccfa65b6e..6280088da0d24cfb76ec778c56da9dceb34cf7dd 100644 (file)
@@ -1,3 +1,9 @@
+2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/85780
+       Backport from trunk
+       * resolve.c (resolve_fl_procedure): Avoid NULL dereference.
+
 2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/85779
index 001705b1bb702279f633c24ff86c0dcd1aa230e1..548ce8e92a7fd4ded0d4e24fa554961e9fc3698c 100644 (file)
@@ -11998,7 +11998,7 @@ resolve_fl_procedure (gfc_symbol *sym, int mp_flag)
       while (curr_arg != NULL)
         {
           /* Skip implicitly typed dummy args here.  */
-         if (curr_arg->sym->attr.implicit_type == 0)
+         if (curr_arg->sym && curr_arg->sym->attr.implicit_type == 0)
            if (!gfc_verify_c_interop_param (curr_arg->sym))
              /* If something is found to fail, record the fact so we
                 can mark the symbol for the procedure as not being
index e80ae13e58e67bdadbc5e87063d4a1795e25cadc..154d42ac40038efecc6ef12fbe96d7c0577d3a3d 100644 (file)
@@ -1,3 +1,9 @@
+2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>
+
+       PR fortran/85780
+       Backport from trunk
+       * gfortran.dg/pr85780.f90: New test.
+
 2018-05-25  Steven G. Kargl  <kargl@gcc.gnu.org>
 
        PR fortran/85779
diff --git a/gcc/testsuite/gfortran.dg/pr85780.f90 b/gcc/testsuite/gfortran.dg/pr85780.f90
new file mode 100644 (file)
index 0000000..ad6b27f
--- /dev/null
@@ -0,0 +1,5 @@
+! { dg-do compile }
+! { dg-options "-std=legacy" }
+! PR fortran/85780
+subroutine s(*) bind(c)
+end