OSDN Git Service

2010-06-19 Janus Weil <janus@gcc.gnu.org>
authorjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Jun 2010 00:05:35 +0000 (00:05 +0000)
committerjanus <janus@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 20 Jun 2010 00:05:35 +0000 (00:05 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161041 138bc75d-0d04-0410-961f-82ee72b054a4

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

index dfaeeec..1d2edde 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 0951498..2f05b23 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 8f6ad4b..0d35274 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 a8a2ce7..37907b3 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" } }