diff options
author | Janus Weil <janus@gcc.gnu.org> | 2015-01-11 20:13:24 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2015-01-11 20:13:24 +0100 |
commit | c34d453f05d09ff166db25491a6901a7a40fba5b (patch) | |
tree | a11b1a0e9b71a224bdecd11bbe4c73791da291cb /gcc/fortran | |
parent | 2f9d3709ca6678d2d72199373664361f8e4e18cf (diff) | |
download | gcc-c34d453f05d09ff166db25491a6901a7a40fba5b.zip gcc-c34d453f05d09ff166db25491a6901a7a40fba5b.tar.gz gcc-c34d453f05d09ff166db25491a6901a7a40fba5b.tar.bz2 |
re PR fortran/58023 ([F03] ICE on invalid with bad PPC declaration)
2015-01-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/58023
* resolve.c (resolve_fl_derived0): Set error flag if problems with the
interface of a procedure-pointer component were detected.
2015-01-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/58023
* gfortran.dg/proc_ptr_comp_42.f90: New.
From-SVN: r219439
Diffstat (limited to 'gcc/fortran')
-rw-r--r-- | gcc/fortran/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/fortran/resolve.c | 8 |
2 files changed, 11 insertions, 3 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog index b525ff4..6f2e549 100644 --- a/gcc/fortran/ChangeLog +++ b/gcc/fortran/ChangeLog @@ -1,5 +1,11 @@ 2015-01-11 Janus Weil <janus@gcc.gnu.org> + PR fortran/58023 + * resolve.c (resolve_fl_derived0): Set error flag if problems with the + interface of a procedure-pointer component were detected. + +2015-01-11 Janus Weil <janus@gcc.gnu.org> + PR fortran/64508 * interface.c (compare_parameter): Interface check for procedure-pointer component as actual argument. diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index a0e32b1..6b24443 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -12424,9 +12424,11 @@ resolve_fl_derived0 (gfc_symbol *sym) { gfc_symbol *ifc = c->ts.interface; - if (!sym->attr.vtype - && !check_proc_interface (ifc, &c->loc)) - return false; + if (!sym->attr.vtype && !check_proc_interface (ifc, &c->loc)) + { + c->tb->error = 1; + return false; + } if (ifc->attr.if_source || ifc->attr.intrinsic) { |