re PR fortran/41587 ([OOP] ICE with ALLOCATABLE CLASS components)

2012-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41587
        * decl.c (build_struct): Don't ignore FAILED status.

2012-05-06  Tobias Burnus  <burnus@net-b.de>

        PR fortran/41587
        * gfortran.dg/class_array_13.f90: New.

From-SVN: r187214
This commit is contained in:
Tobias Burnus 2012-05-06 22:30:05 +02:00 committed by Tobias Burnus
parent 91000c66b9
commit ea59b186fb
4 changed files with 40 additions and 1 deletions

View File

@ -1,3 +1,8 @@
2012-05-06 Tobias Burnus <burnus@net-b.de>
PR fortran/41587
* decl.c (build_struct): Don't ignore FAILED status.
2012-05-05 Paul Thomas <pault@gcc.gnu.org>
PR fortran/41600

View File

@ -1658,7 +1658,10 @@ scalar:
bool delayed = (gfc_state_stack->sym == c->ts.u.derived)
|| (!c->ts.u.derived->components
&& !c->ts.u.derived->attr.zero_comp);
return gfc_build_class_symbol (&c->ts, &c->attr, &c->as, delayed);
gfc_try t2 = gfc_build_class_symbol (&c->ts, &c->attr, &c->as, delayed);
if (t != FAILURE)
t = t2;
}
return t;

View File

@ -1,3 +1,8 @@
2012-05-06 Tobias Burnus <burnus@net-b.de>
PR fortran/41587
* gfortran.dg/class_array_13.f90: New.
2012-05-06 Tristan Gingold <gingold@adacore.com>
* gnat.dg/warn7.adb: New test.

View File

@ -0,0 +1,26 @@
! { dg-do compile }
! { dg-options "-fcoarray=single" }
!
! PR fortran/41587
!
type t0
integer :: j = 42
end type t0
type t
integer :: i
class(t0), allocatable :: foo(3) ! { dg-error "must have a deferred shape" }
end type t
type t2
integer :: i
class(t0), pointer :: foo(3) ! { dg-error "must have a deferred shape" }
end type t2
type t3
integer :: i
class(t0), allocatable :: foo[3] ! { dg-error "Upper bound of last coarray dimension must be '\\*'" }
end type t3
end