forked from gcc-mirror/gcc
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@254660 138bc75d-0d04-0410-961f-82ee72b054a4
- Loading branch information
janus
committed
Nov 11, 2017
1 parent
d16ea7e
commit 179137d
Showing
4 changed files
with
60 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
! { 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 |