------- Comment #20 from dominiq at lps dot ens dot fr 2009-12-06 14:56 ------- With the patch in comment #19, the test in comment #14 no longer gives ICEs.
However I noticed that several invalid cases are not detected (a and b in data_init_(scalar|array|matrix)_invalid, and c and d in data_init_(array|matrix)_invalid). Only f and h in data_init_(array|matrix)_invalid. give the two occurrences for the duplicates (after having changed the dimensions of h in data_init_matrix_invalid). When isolated, e in data_init_(array|matrix)_invalid and g data_init_matrix_invalid give ICEs in output_constructor_regular_field, at varasm.c:4773 (neither ICE nor error when there is another initialization giving itself an error). Finally i and j in data_init_(array|matrix)_invalid triggered the second and first ICE respectively. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24978