diff options
author | Janus Weil <janus@gcc.gnu.org> | 2010-06-20 02:05:35 +0200 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2010-06-20 02:05:35 +0200 |
commit | 1304f5821f100dd8cbb9f2101496e0f36661c3ed (patch) | |
tree | d081b85a5b03cc9289d0f5d6d6883cd754d58a2d /gcc | |
parent | e6bfe8a255590cb8ca8d9f7f302a33c613067e4b (diff) | |
download | gcc-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/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 2 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/testsuite/gfortran.dg/typebound_proc_15.f03 | 10 |
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" } } |