diff options
author | Janus Weil <janus@gcc.gnu.org> | 2017-11-11 22:54:41 +0100 |
---|---|---|
committer | Janus Weil <janus@gcc.gnu.org> | 2017-11-11 22:54:41 +0100 |
commit | 859e3093a4c9248144be55391d4f37ba42533cd2 (patch) | |
tree | de5b9e49db3393a0b234550438eddfd3f4b3039a /gcc/fortran/resolve.c | |
parent | 6aab06c7450d1306b3ccf2aeb82882857df6446c (diff) | |
download | gcc-859e3093a4c9248144be55391d4f37ba42533cd2.zip gcc-859e3093a4c9248144be55391d4f37ba42533cd2.tar.gz gcc-859e3093a4c9248144be55391d4f37ba42533cd2.tar.bz2 |
re PR fortran/82932 ([OOP] ICE in update_compcall_arglist, at fortran/resolve.c:5837)
2017-11-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/82932
* resolve.c (update_compcall_arglist): Improve error recovery,
remove a gcc_assert.
2017-11-11 Janus Weil <janus@gcc.gnu.org>
PR fortran/82932
* gfortran.dg/typebound_call_29.f90: New test.
From-SVN: r254660
Diffstat (limited to 'gcc/fortran/resolve.c')
-rw-r--r-- | gcc/fortran/resolve.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/fortran/resolve.c b/gcc/fortran/resolve.c index 1dde0d3..28a0c9e 100644 --- a/gcc/fortran/resolve.c +++ b/gcc/fortran/resolve.c @@ -5834,7 +5834,9 @@ update_compcall_arglist (gfc_expr* e) return true; } - gcc_assert (tbp->pass_arg_num > 0); + if (tbp->pass_arg_num <= 0) + return false; + e->value.compcall.actual = update_arglist_pass (e->value.compcall.actual, po, tbp->pass_arg_num, tbp->pass_arg); |