]> gcc.gnu.org Git - gcc.git/commitdiff
re PR fortran/44584 (Invalid memory access with gfortran.dg/typebound_proc_15.f03)
authorJanus Weil <janus@gcc.gnu.org>
Sun, 20 Jun 2010 00:05:35 +0000 (02:05 +0200)
committerJanus Weil <janus@gcc.gnu.org>
Sun, 20 Jun 2010 00:05:35 +0000 (02:05 +0200)
2010-06-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44584
* resolve.c (resolve_fl_derived): Reverse ordering of conditions
to avoid ICE.

2010-06-19  Janus Weil  <janus@gcc.gnu.org>

PR fortran/44584
* gfortran.dg/typebound_proc_15.f03: Modified.

From-SVN: r161041

gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/typebound_proc_15.f03

index dfaeeec31eab27a2c33270b60ec56f0a9918e9fc..1d2edde95a3c9df9b2944e6ef2cdf18a4a88dfb3 100644 (file)
@@ -1,3 +1,9 @@
+2010-06-19  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44584
+       * resolve.c (resolve_fl_derived): Reverse ordering of conditions
+       to avoid ICE.
+
 2010-06-18  Tobias Burnus  <burnus@net-b.de>
 
        PR fortran/44556
index 0951498e2db26c3e79cc098a3dd31471edf25ad1..2f05b23b02f8289188832d2a35bdec1d2a651c40 100644 (file)
@@ -10892,7 +10892,7 @@ resolve_fl_derived (gfc_symbol *sym)
                  c->ts.u.cl = cl;
                }
            }
-         else if (c->ts.interface->name[0] != '\0' && !sym->attr.vtype)
+         else if (!sym->attr.vtype && c->ts.interface->name[0] != '\0')
            {
              gfc_error ("Interface '%s' of procedure pointer component "
                         "'%s' at %L must be explicit", c->ts.interface->name,
index 8f6ad4b1dc39aae208aad29f72f78da3f38ff677..0d35274cb2e47faa6021a77cfb828755a280adc4 100644 (file)
@@ -1,3 +1,8 @@
+2010-06-19  Janus Weil  <janus@gcc.gnu.org>
+
+       PR fortran/44584
+       * gfortran.dg/typebound_proc_15.f03: Modified.
+
 2010-06-19  Richard Earnshaw  <rearnsha@arm.com>
 
        PR target/44072
index a8a2ce7e87a656339aa3d0648638ce833cb943c7..37907b3f4df3b02a78533f2e27c74f16298c1d67 100644 (file)
@@ -12,7 +12,7 @@ implicit none
 type :: t
 contains
   procedure :: foo
-  procedure :: bar, baz  { dg-error "PROCEDURE list" }
+  procedure :: bar, baz  { dg-error "PROCEDURE list" }
 end type
 
 contains
@@ -21,6 +21,14 @@ contains
     class(t) :: this
   end subroutine
 
+  subroutine bar (this)
+    class(t) :: this
+  end subroutine
+
+  subroutine baz (this)
+    class(t) :: this
+  end subroutine
+
 end
 
 ! { dg-final { cleanup-modules "m" } }
This page took 0.099073 seconds and 5 git commands to generate.