aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanus Weil <janus@gcc.gnu.org>2010-06-20 02:05:35 +0200
committerJanus Weil <janus@gcc.gnu.org>2010-06-20 02:05:35 +0200
commit1304f5821f100dd8cbb9f2101496e0f36661c3ed (patch)
treed081b85a5b03cc9289d0f5d6d6883cd754d58a2d /gcc
parente6bfe8a255590cb8ca8d9f7f302a33c613067e4b (diff)
downloadgcc-1304f5821f100dd8cbb9f2101496e0f36661c3ed.zip
gcc-1304f5821f100dd8cbb9f2101496e0f36661c3ed.tar.gz
gcc-1304f5821f100dd8cbb9f2101496e0f36661c3ed.tar.bz2
re PR fortran/44584 (Invalid memory access with gfortran.dg/typebound_proc_15.f03)
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
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/resolve.c2
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/gfortran.dg/typebound_proc_15.f0310
4 files changed, 21 insertions, 2 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index dfaeeec..1d2edde 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -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
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c
index 0951498..2f05b23 100644
--- a/gcc/fortran/resolve.c
+++ b/gcc/fortran/resolve.c
@@ -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,
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 8f6ad4b..0d35274 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -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
diff --git a/gcc/testsuite/gfortran.dg/typebound_proc_15.f03 b/gcc/testsuite/gfortran.dg/typebound_proc_15.f03
index a8a2ce7..37907b3 100644
--- a/gcc/testsuite/gfortran.dg/typebound_proc_15.f03
+++ b/gcc/testsuite/gfortran.dg/typebound_proc_15.f03
@@ -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" } }