[Bug fortran/77679] New: ICE in fold_array_ctor_reference, at gimple-fold.c:5586
gerhard.steinmetz.fortran@t-online.de
gcc-bugzilla@gcc.gnu.org
Wed Sep 21 19:46:00 GMT 2016
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77679
Bug ID: 77679
Summary: ICE in fold_array_ctor_reference, at
gimple-fold.c:5586
Product: gcc
Version: 7.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: fortran
Assignee: unassigned at gcc dot gnu.org
Reporter: gerhard.steinmetz.fortran@t-online.de
Target Milestone: ---
Affects versions 6 and 7, at -Os, -O1 or higher.
Invalid code with an uninitialized variable.
$ cat z1.f90
program p
character(1) :: x(2)
x = [character(n(1)) :: 'a', 'b']
end
$ gfortran-7-20160918 -O0 z1.f90
z1.f90:3:0:
x = [character(n(1)) :: 'a', 'b']
Error: size of variable 'A.0' is too large
$ gfortran-7-20160918 -O2 z1.f90
z1.f90:4:0:
end
internal compiler error: in fold_array_ctor_reference, at gimple-fold.c:5586
0x996e18 fold_array_ctor_reference
../../gcc/gimple-fold.c:5585
0x996e18 fold_ctor_reference(tree_node*, tree_node*, unsigned long, unsigned
long, tree_node*)
../../gcc/gimple-fold.c:5727
0x997055 fold_const_aggregate_ref_1(tree_node*, tree_node* (*)(tree_node*))
../../gcc/gimple-fold.c:5835
0x997eb0 gimple_fold_stmt_to_constant_1(gimple*, tree_node* (*)(tree_node*),
tree_node* (*)(tree_node*))
../../gcc/gimple-fold.c:5297
0xe114bf record_temporary_equivalences_from_stmts_at_dest
../../gcc/tree-ssa-threadedge.c:329
0xe12351 thread_through_normal_block
../../gcc/tree-ssa-threadedge.c:1049
0xe13d21 thread_across_edge(gcond*, edge_def*, bool, const_and_copies*,
avail_exprs_stack*, tree_node* (*)(gimple*, gimple*, avail_exprs_stack*))
../../gcc/tree-ssa-threadedge.c:1289
0xd44c90 dom_opt_dom_walker::thread_across_edge(edge_def*)
../../gcc/tree-ssa-dom.c:989
0xd44ea9 dom_opt_dom_walker::after_dom_children(basic_block_def*)
../../gcc/tree-ssa-dom.c:1408
0x1299c37 dom_walker::walk(basic_block_def*)
../../gcc/domwalk.c:307
0xd47988 execute
../../gcc/tree-ssa-dom.c:614
More information about the Gcc-bugs
mailing list