http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51966

--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-01-24 
09:48:28 UTC ---
(In reply to comment #4)
>   type(Deriv), save :: DepEcoSystem = Deriv(DEF_ECOSYSTEMS(1))

Here, the problem is that in
  #0  gfc_conv_string_init (length=0x2aaaacf3b720, expr=0x16c1170)
expr->type == EXPR_ARRAY. Hence, the following fails:
  gcc_assert (expr->expr_type == EXPR_CONSTANT);

#1  in gfc_conv_initializer at fortran/trans-expr.c:4940
#2  in gfc_conv_structure   at fortran/trans-expr.c:5396
#3  in gfc_conv_initializer at fortran/trans-expr.c:4933
#4  in gfc_get_symbol_decl  at fortran/trans-decl.c:1476

Also that version works with GCC 4.5.


(In reply to comment #3)
> [2009-07-23] Revision 162456 is OK,
> [2010-09-29] revision 164728 gives the ICE.

Also 2010-08-28-r163612 fails.

I wonder whether the patch for PR 44857 (2010-08-04, Rev. 162863) is the
culprit:
http://gcc.gnu.org/ml/fortran/2010-08/msg00034.html

Reply via email to