This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] PR fortran/59910 -- structure constructor in DATA statement
- From: Steve Kargl <sgk at troutmask dot apl dot washington dot edu>
- To: "Dominique d'Humières" <dominiq at lps dot ens dot fr>
- Cc: fortran at gcc dot gnu dot org, gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 17 Nov 2015 16:36:01 -0800
- Subject: Re: [PATCH] PR fortran/59910 -- structure constructor in DATA statement
- Authentication-results: sourceware.org; auth=none
- References: <5F682D1E-46CB-4301-A182-D1F473ECBF46 at lps dot ens dot fr>
On Wed, Nov 18, 2015 at 12:24:29AM +0100, Dominique d'Humières wrote:
> > ??? but I suspect gfc_reduce_init_expr()
> > may be useful for PARAMETER statements as well (need to
> > check this!).
>
> As in the following test
>
> module m
> implicit none
> type t
> integer :: i
> end type t
> type(t), dimension(2), parameter :: a1 = (/ t(1), t(2) /)
> type(t), dimension(1), parameter :: c = spread ( a1(1), 1, 1 )
> end module m
>
Yep. We again arrive at gfc_conv_array_initializer with
expr->expr_type == EXPR_FUNCTION, which isn't handled correctly.
The issue seems deeply rooted in the handling of derived types,
which is actually worse than this! But, that is definitely for
another day. See PR67817. :(
--
Steve