https://gcc.gnu.org/bugzilla/show_bug.cgi?id=123578

--- Comment #9 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
The ICE is because while trying to cxx_printable_name_internal on
std::simd::basic_vec<long, std::simd::_Abi<2, 1, 0> >::basic_vec(long
__vector(2))
we recurse
#1  0x00000000008b1059 in cxx_printable_name_internal (decl=<function_decl
0x7fffe9550900 operator()>, v=2, translate=false) at ../../gcc/cp/tree.cc:2839
#2  0x00000000008b1386 in cxx_printable_name (decl=<function_decl
0x7fffe9550900 operator()>, v=2) at ../../gcc/cp/tree.cc:2888
#3  0x00000000009a1278 in c_genericize (fndecl=<function_decl 0x7fffe9550900
operator()>) at ../../gcc/c-family/c-gimplify.cc:818
#4  0x00000000004fbb93 in cp_genericize (fndecl=<function_decl 0x7fffe9550900
operator()>) at ../../gcc/cp/cp-gimplify.cc:2612
#5  0x0000000000590f57 in finish_function (inline_p=true) at
../../gcc/cp/decl.cc:20551
#6  0x000000000060a387 in finish_lambda_function (body=<statement_list
0x7fffe95285a0>) at ../../gcc/cp/lambda.cc:1992
#7  0x00000000007fde45 in tsubst_lambda_expr (t=<lambda_expr 0x7fffe99f1320>,
args=<tree_vec 0x7fffe94b59b0>, complain=3, in_decl=<function_decl
0x7fffe9413f00 operator()>)
    at ../../gcc/cp/pt.cc:20736
#8  0x000000000080a349 in tsubst_expr (t=<lambda_expr 0x7fffe99f1320>,
args=<tree_vec 0x7fffe94b59b0>, complain=0, in_decl=<tree 0x0>) at
../../gcc/cp/pt.cc:22737
#9  0x0000000000803669 in tsubst_expr (t=<call_expr 0x7fffe941e4e0>,
args=<tree_vec 0x7fffe94b59b0>, complain=0, in_decl=<tree 0x0>) at
../../gcc/cp/pt.cc:21713
#10 0x00000000007e89d7 in tsubst (t=<decltype_type 0x7fffe9426b28>,
args=<tree_vec 0x7fffe94b59b0>, complain=0, in_decl=<tree 0x0>) at
../../gcc/cp/pt.cc:17425
#11 0x00000000005c0fd8 in dump_template_bindings (pp=0x4cb7840
<actual_pretty_printer>, parms=<tree 0x0>, args=<tree_vec 0x7fffe94b59b0>,
typenames=0x7fffe9552758 = {...})
    at ../../gcc/cp/error.cc:625
#12 0x00000000005c8320 in dump_substitution (pp=0x4cb7840
<actual_pretty_printer>, t=<template_decl 0x7fffe9424908 __ct >,
template_parms=<tree_list 0x7fffe9422398>, 
    template_args=<tree_vec 0x7fffe94b59b0>, flags=4) at
../../gcc/cp/error.cc:1876
#13 0x00000000005ca277 in dump_function_decl (pp=0x4cb7840
<actual_pretty_printer>, t=<template_decl 0x7fffe9424908 __ct >, flags=4) at
../../gcc/cp/error.cc:2056
#14 0x00000000005c7035 in dump_decl (pp=0x4cb7840 <actual_pretty_printer>,
t=<function_decl 0x7fffe94bda00 __ct >, flags=4) at ../../gcc/cp/error.cc:1602
#15 0x00000000005d1e9f in decl_as_string (decl=<function_decl 0x7fffe94bda00
__ct >, flags=4) at ../../gcc/cp/error.cc:3429
#16 0x00000000005d1f78 in lang_decl_name (decl=<function_decl 0x7fffe94bda00
__ct >, v=2, translate=false) at ../../gcc/cp/error.cc:3464
#17 0x00000000008b12aa in cxx_printable_name_internal (decl=<function_decl
0x7fffe94bda00 __ct >, v=2, translate=false) at ../../gcc/cp/tree.cc:2875
and try to print
std::simd::basic_vec<long, std::simd::_Abi<2, 1, 0>
>::{lambda()#33}::operator()() const

Reply via email to