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
+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-10 Fritz Reese <fritzoreese@gmail.com>
PR fortran/82886
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);
+2017-11-11 Janus Weil <janus@gcc.gnu.org>
+
+ PR fortran/82932
+ * gfortran.dg/typebound_call_29.f90: New test.
+
2017-11-10 Fritz Reese <fritzoreese@gmail.com>
PR fortran/82886
--- /dev/null
+! { dg-do compile }
+!
+! PR 82932: [OOP] ICE in update_compcall_arglist, at fortran/resolve.c:5837
+!
+! Contributed by Janus Weil <janus@gcc.gnu.org>
+
+module m
+
+ implicit none
+
+ type, abstract :: AT
+ contains
+ procedure(init_ifc), deferred :: sinit
+ procedure(missing_ifc), deferred :: missing
+ generic :: init => sinit
+ end type
+
+ abstract interface
+ subroutine init_ifc(data)
+ import AT
+ class(AT) :: data
+ end subroutine
+ subroutine missing_ifc(data)
+ import AT
+ class(AT) :: data
+ end subroutine
+ end interface
+
+end module
+
+
+program p
+
+ use m
+
+ implicit none
+
+ type, extends(AT) :: ET ! { dg-error "must be ABSTRACT" }
+ contains
+ procedure :: sinit
+ end type
+
+ type(ET) :: c
+ call c%init()
+
+end