This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/42888] [4.5 Regression] ICE in fold_convert_loc, at fold-const.c:2670
- From: "janus at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 28 Jan 2010 10:29:42 -0000
- Subject: [Bug fortran/42888] [4.5 Regression] ICE in fold_convert_loc, at fold-const.c:2670
- References: <bug-42888-6318@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from janus at gcc dot gnu dot org 2010-01-28 10:29 -------
(In reply to comment #5)
> I think the relevant part is:
> http://gcc.gnu.org/viewcvs/trunk/gcc/fortran/trans-stmt.c?r1=152345&r2=152344&pathrev=152345
> -- especially around "Add default initializer for those derived types that need
> them"
Yes, I think this is correct. The commit moved that part from
resolve_allocate_expr (resolve.c) to gfc_trans_allocate (trans-stmt.c) and
modified it a bit.
The backtrace is:
#0 fold_convert_loc (loc=0, type=0x7ffff7e83498, arg=0x7ffff7f65060) at
/home/jweil/gcc45/trunk/gcc/fold-const.c:2669
#1 0x00000000005a088a in gfc_trans_scalar_assign (lse=0x7fffffffd4d0,
rse=0x7fffffffd520, ts=..., l_is_temp=1 '\001', r_is_var=0 '\000')
at /home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:4840
#2 0x000000000059e7eb in gfc_trans_subcomponent_assign (dest=0x7ffff7f6c4c0,
cm=0x17deab0, expr=0x17dc890) at
/home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:4224
#3 0x000000000059e9ce in gfc_trans_structure_assign (dest=0x7ffff7f6b5a0,
expr=0x17dc720) at /home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:4265
#4 0x000000000059eaec in gfc_conv_structure (se=0x7fffffffd780,
expr=0x17dc720, init=0) at
/home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:4292
#5 0x000000000059f2f4 in gfc_conv_expr (se=0x7fffffffd780, expr=0x17dc720) at
/home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:4441
#6 0x000000000056d46b in gfc_add_loop_ss_code (loop=0x7fffffffd940,
ss=0x17dce70, subscript=0 '\000', where=0x17dc770) at
/home/jweil/gcc45/trunk/gcc/fortran/trans-array.c:2028
#7 0x0000000000572a92 in gfc_conv_loop_setup (loop=0x7fffffffd940,
where=0x17dc770) at /home/jweil/gcc45/trunk/gcc/fortran/trans-array.c:3722
#8 0x00000000005a1b95 in gfc_trans_assignment_1 (expr1=0x17dc980,
expr2=0x17dc720, init_flag=1 '\001') at
/home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:5232
#9 0x00000000005a2316 in gfc_trans_assignment (expr1=0x17dc980,
expr2=0x17dc720, init_flag=1 '\001') at
/home/jweil/gcc45/trunk/gcc/fortran/trans-expr.c:5434
#10 0x00000000005d3bb7 in gfc_trans_allocate (code=0x17df760) at
/home/jweil/gcc45/trunk/gcc/fortran/trans-stmt.c:4183
#11 0x000000000056759a in gfc_trans_code (code=0x17df760) at
/home/jweil/gcc45/trunk/gcc/fortran/trans.c:1203
#12 0x0000000000591abd in gfc_generate_function_code (ns=0x17dd350) at
/home/jweil/gcc45/trunk/gcc/fortran/trans-decl.c:4373
#13 0x00000000005678a9 in gfc_generate_code (ns=0x17dd350) at
/home/jweil/gcc45/trunk/gcc/fortran/trans.c:1311
#14 0x0000000000516f59 in gfc_parse_file () at
/home/jweil/gcc45/trunk/gcc/fortran/parse.c:4226
#15 0x0000000000556c1f in gfc_be_parse_file (set_yydebug=0) at
/home/jweil/gcc45/trunk/gcc/fortran/f95-lang.c:239
#16 0x0000000000a00f3e in compile_file () at
/home/jweil/gcc45/trunk/gcc/toplev.c:1053
#17 0x0000000000a03161 in do_compile () at
/home/jweil/gcc45/trunk/gcc/toplev.c:2405
#18 0x0000000000a03237 in toplev_main (argc=2, argv=0x7fffffffe2c8) at
/home/jweil/gcc45/trunk/gcc/toplev.c:2447
#19 0x00000000005dd404 in main (argc=2, argv=0x7fffffffe2c8) at
/home/jweil/gcc45/trunk/gcc/main.c:35
Unfortunately I don't see what goes wrong right away (I'm no expert for
initializers).
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42888