https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83231
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2017-12-01 CC| |msebor at gcc dot gnu.org Ever confirmed|0 |1 Known to fail| |4.8.3, 4.9.3, 5.3.0, 6.2.0, | |7.1.0, 8.0 --- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> --- Confirmed. The ICE seems to go as far back as the introduction of the -std=c++1y option in GCC 4.8.0 (r185596) so it doesn't look like a regression. The full output and stack trace with the top of trunk (8.0) is below: t.C: In function ‘void guid_tests()’: t.C:15:34: in ‘constexpr’ expansion of ‘is_equal(some_guid, some_guid)’ t.C:15:55: internal compiler error: in cxx_eval_bit_field_ref, at cp/constexpr.c:2608 constexpr bool val = is_equal(some_guid, some_guid); ^ 0x82927e cxx_eval_bit_field_ref /ssd/src/gcc/git/gcc/cp/constexpr.c:2608 0x8313ca cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4422 0x830bd7 cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4235 0x8269cc cxx_eval_binary_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:2001 0x8311f8 cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4379 0x8293c5 cxx_eval_logical_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:2634 0x831254 cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4387 0x82e349 cxx_eval_store_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:3640 0x830962 cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4196 0x830a66 cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4208 0x825554 cxx_eval_call_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:1688 0x8300ce cxx_eval_constant_expression /ssd/src/gcc/git/gcc/cp/constexpr.c:4118 0x832c09 cxx_eval_outermost_constant_expr /ssd/src/gcc/git/gcc/cp/constexpr.c:4756 0x8333d2 cxx_constant_value(tree_node*, tree_node*) /ssd/src/gcc/git/gcc/cp/constexpr.c:4864 0xae9926 store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, int) /ssd/src/gcc/git/gcc/cp/typeck2.c:827 0x88e79e check_initializer /ssd/src/gcc/git/gcc/cp/decl.c:6352 0x892075 cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int) /ssd/src/gcc/git/gcc/cp/decl.c:7024 0x99212c cp_parser_init_declarator /ssd/src/gcc/git/gcc/cp/parser.c:19589 0x98550e cp_parser_simple_declaration /ssd/src/gcc/git/gcc/cp/parser.c:12938 0x985072 cp_parser_block_declaration /ssd/src/gcc/git/gcc/cp/parser.c:12756 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://gcc.gnu.org/bugs/> for instructions.