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.