https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98193
Bug ID: 98193 Summary: [11 Regression] ICE in native_encode_initializer, at fold-const.c:8454/8424 Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: gs...@t-online.de Target Milestone: --- Following two variants are derived from testfile bit-cast3.C (new). Not really a regression, but with the latest snapshot (20201206) : $ cat z1.C template <typename To, typename From> constexpr To bit_cast (const From &from) { return __builtin_bit_cast (To, from); } struct J { long int a, b : 11, h; }; struct K { long int a, b, c; constexpr bool operator == (K x) { return x.a; } }; static_assert (bit_cast <K> (J{}) == K{}, ""); $ g++-11-20201206 -c z1.C z1.C:19:33: in 'constexpr' expansion of 'bit_cast<K, J>(J{})' z1.C:19:46: internal compiler error: in native_encode_initializer, at fold-const.c:8454 19 | static_assert (bit_cast <K> (J{}) == K{}, ""); | ^ 0x9b3baa native_encode_initializer(tree_node*, unsigned char*, int, int, unsigned char*) ../../gcc/fold-const.c:8454 0x6819e8 cxx_eval_bit_cast ../../gcc/cp/constexpr.c:4105 0x6819e8 cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6894 0x686678 cxx_eval_store_expression ../../gcc/cp/constexpr.c:5397 0x67f47a cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6217 0x67e8dd cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6229 0x67ef8e cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6286 0x67db44 cxx_eval_call_expression ../../gcc/cp/constexpr.c:2692 0x67f20a cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6108 0x68167d cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6196 0x67edb5 cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6335 0x67c4f7 cxx_bind_parameters_in_call ../../gcc/cp/constexpr.c:1594 0x67c4f7 cxx_eval_call_expression ../../gcc/cp/constexpr.c:2524 0x67f20a cxx_eval_constant_expression ../../gcc/cp/constexpr.c:6108 0x68215b cxx_eval_outermost_constant_expr ../../gcc/cp/constexpr.c:7117 0x684ddc maybe_constant_value(tree_node*, tree_node*, bool) ../../gcc/cp/constexpr.c:7372 0x7a06cd finish_static_assert(tree_node*, tree_node*, unsigned int, bool, bool) ../../gcc/cp/semantics.c:9918 0x726de4 cp_parser_static_assert ../../gcc/cp/parser.c:14992 0x75846a cp_parser_declaration ../../gcc/cp/parser.c:13692 0x758d5a cp_parser_translation_unit ../../gcc/cp/parser.c:4806