backport: re PR fortran/58355 ([F03] ICE with TYPE, EXTENDS before parent TYPE defined)
2013-11-02 Janus Weil <janus@gcc.gnu.org> Backport from mainline 2013-09-23 Janus Weil <janus@gcc.gnu.org> PR fortran/58355 * decl.c (check_extended_derived_type): Prevent segfault, modify error message. 2013-11-02 Janus Weil <janus@gcc.gnu.org> Backport from mainline 2013-09-23 Janus Weil <janus@gcc.gnu.org> PR fortran/58355 * gfortran.dg/extends_15.f90: New. From-SVN: r204320
This commit is contained in:
parent
16572a4eb3
commit
cb1491c553
|
@ -1,3 +1,12 @@
|
|||
2013-11-02 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
Backport from mainline
|
||||
2013-09-23 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/58355
|
||||
* decl.c (check_extended_derived_type): Prevent segfault, modify error
|
||||
message.
|
||||
|
||||
2013-08-11 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
Backport from trunk:
|
||||
|
|
|
@ -7301,6 +7301,7 @@ syntax:
|
|||
|
||||
|
||||
/* Check a derived type that is being extended. */
|
||||
|
||||
static gfc_symbol*
|
||||
check_extended_derived_type (char *name)
|
||||
{
|
||||
|
@ -7312,14 +7313,15 @@ check_extended_derived_type (char *name)
|
|||
return NULL;
|
||||
}
|
||||
|
||||
extended = gfc_find_dt_in_generic (extended);
|
||||
|
||||
/* F08:C428. */
|
||||
if (!extended)
|
||||
{
|
||||
gfc_error ("No such symbol in TYPE definition at %C");
|
||||
gfc_error ("Symbol '%s' at %C has not been previously defined", name);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
extended = gfc_find_dt_in_generic (extended);
|
||||
|
||||
if (extended->attr.flavor != FL_DERIVED)
|
||||
{
|
||||
gfc_error ("'%s' in EXTENDS expression at %C is not a "
|
||||
|
|
|
@ -1,3 +1,11 @@
|
|||
2013-11-02 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
Backport from mainline
|
||||
2013-09-23 Janus Weil <janus@gcc.gnu.org>
|
||||
|
||||
PR fortran/58355
|
||||
* gfortran.dg/extends_15.f90: New.
|
||||
|
||||
2013-10-28 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
* gcc.target/arm/require-pic-register-loc.c: New test.
|
||||
|
|
|
@ -0,0 +1,16 @@
|
|||
! { dg-do compile }
|
||||
!
|
||||
! PR 58355: [4.7/4.8/4.9 Regression] [F03] ICE with TYPE, EXTENDS before parent TYPE defined
|
||||
!
|
||||
! Contributed by Andrew Benson <abensonca@gmail.com>
|
||||
|
||||
module ct
|
||||
public :: t1
|
||||
|
||||
type, extends(t1) :: t2 ! { dg-error "has not been previously defined" }
|
||||
|
||||
type :: t1
|
||||
end type
|
||||
end
|
||||
|
||||
! { dg-final { cleanup-modules "ct" } }
|
Loading…
Reference in New Issue