https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82084
Martin Liška <marxin at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Known to work| |4.7.4
Keywords| |ice-on-valid-code
Last reconfirmed| |2017-09-04
CC| |marxin at gcc dot gnu.org
Ever confirmed|0 |1
Summary|internal compiler error: |[5/6/7/8 Regression] ICE:
|constructing wstring with |constructing wstring with
|-O3 |-O3
Known to fail| |4.8.0
--- Comment #1 from Martin Liška <marxin at gcc dot gnu.org> ---
Confirmed, started with GCC 4.8.0. We do:
3232 }
3233 else
3234 op = fold_unary (VIEW_CONVERT_EXPR,
3235 TREE_TYPE (vector_type), op);
3236 gcc_assert (op && CONSTANT_CLASS_P (op));
where op before folding is:
(gdb) p debug_tree(op)
<string_cst 0x2ab504e760c0
type <array_type 0x2ab504e71540
type <integer_type 0x2ab5040747e0 wchar_t sizes-gimplified public
type_6 SI
size <integer_cst 0x2ab50406b120 constant 32>
unit-size <integer_cst 0x2ab50406b138 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set 9 canonical-type
0x2ab5040747e0 precision:32 min <integer_cst 0x2ab50406b498 -2147483648> max
<integer_cst 0x2ab50406b4b0 2147483647>
pointer_to_this <pointer_type 0x2ab504810f18> reference_to_this
<reference_type 0x2ab504865a80>>
sizes-gimplified type_6 DI
size <integer_cst 0x2ab50404bed0 constant 64>
unit-size <integer_cst 0x2ab50404bee8 constant 8>
align:32 warn_if_not_align:0 symtab:0 alias-set 9 canonical-type
0x2ab504e71540
domain <integer_type 0x2ab504810bd0 type <integer_type 0x2ab504068000
sizetype>
sizes-gimplified type_6 DI size <integer_cst 0x2ab50404bed0 64>
unit-size <integer_cst 0x2ab50404bee8 8>
align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x2ab504810bd0 precision:64 min <integer_cst 0x2ab50404bf00 0> max <integer_cst
0x2ab50404bfd8 1>>
pointer_to_this <pointer_type 0x2ab504e717e0>>
readonly constant static "D\000\000\000\000\000\000\000">
and is NULL_TREE after the folding.