[Bug c++/98193] [11 Regression] ICE in native_encode_initializer, at fold-const.c:8454/8424
gscfq@t-online.de
gcc-bugzilla@gcc.gnu.org
Tue Dec 8 09:31:40 GMT 2020
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98193
G. Steinmetz <gscfq@t-online.de> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target| |x86_64-pc-linux-gnu
--- Comment #1 from G. Steinmetz <gscfq@t-online.de> ---
$ cat z2.C
template <typename To, typename From>
constexpr To
bit_cast (const From &from)
{
return __builtin_bit_cast (To, from);
}
struct J
{
long 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{0x0feedbacdeadbeefLL}) ==
K{0x0feedbacdeadbeefLL}, "");
$ g++-11-20201206 -c z2.C
z2.C:19:53: in 'constexpr' expansion of 'bit_cast<K,
J>(J{1148096490542841583})'
z2.C:19:86: internal compiler error: in native_encode_initializer, at
fold-const.c:8424
19 | static_assert (bit_cast <K> (J{0x0feedbacdeadbeefLL}) ==
K{0x0feedbacdeadbeefLL}, "");
|
^
0x9b388c native_encode_initializer(tree_node*, unsigned char*, int, int,
unsigned char*)
../../gcc/fold-const.c:8424
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
More information about the Gcc-bugs
mailing list