https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108110
Manuel Lauss <manuel.lauss at googlemail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manuel.lauss at googlemail dot com --- Comment #12 from Manuel Lauss <manuel.lauss at googlemail dot com> --- Created attachment 54122 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54122&action=edit unreduced test case I've attached another testcase: -O2 and -march with AVX support are essential to trigger it: moya ~ # g++ -c ipa-param-manipulation.i -O1 -march=core-avx-i moya ~ # g++ -c ipa-param-manipulation.i -O3 -march=core-avx-i moya ~ # g++ -c ipa-param-manipulation.i -O2 -march=core-avx-i during IPA pass: inline In file included from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/tuple:41, from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/unique_ptr.h:36, from /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/memory:78, from src/mongo/util/background.h:32, from src/mongo/util/background.cpp:34: In function 'constexpr _Res std::__invoke_impl(__invoke_other, _Fn&&, _Args&& ...) [with _Res = void; _Fn = mongo::logv2::detail::doLog<mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING, 14, NamedArg<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, NamedArg<mongo::Duration<std::ratio<1, 1000> > > >(int32_t, const mongo::logv2::LogSeverity&, const mongo::logv2::LogOptions&, const mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING&, const char (&)[14], const NamedArg<const std::__cxx11::basic_string<char>&>&, const NamedArg<mongo::Duration<std::ratio<1, 1000> > >&)::<lambda(auto:20&& ...)>; _Args = {const mongo::logv2::detail::NamedArg<const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>&, const mongo::logv2::detail::NamedArg<mongo::Duration<ratio<1, 1000> > >&}]', inlined from 'constexpr typename std::__invoke_result<_Functor, _ArgTypes>::type std::__invoke(_Callable&&, _Args&& ...) [with _Callable = mongo::logv2::detail::doLog<mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING, 14, NamedArg<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, NamedArg<mongo::Duration<std::ratio<1, 1000> > > >(int32_t, const mongo::logv2::LogSeverity&, const mongo::logv2::LogOptions&, const mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING&, const char (&)[14], const NamedArg<const std::__cxx11::basic_string<char>&>&, const NamedArg<mongo::Duration<std::ratio<1, 1000> > >&)::<lambda(auto:20&& ...)>; _Args = {const mongo::logv2::detail::NamedArg<const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>&, const mongo::logv2::detail::NamedArg<mongo::Duration<ratio<1, 1000> > >&}]' at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/invoke.h:96:40, inlined from 'constexpr decltype(auto) std::__apply_impl(_Fn&&, _Tuple&&, index_sequence<_Idx ...>) [with _Fn = mongo::logv2::detail::doLog<mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING, 14, NamedArg<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, NamedArg<mongo::Duration<std::ratio<1, 1000> > > >(int32_t, const mongo::logv2::LogSeverity&, const mongo::logv2::LogOptions&, const mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING&, const char (&)[14], const NamedArg<const std::__cxx11::basic_string<char>&>&, const NamedArg<mongo::Duration<std::ratio<1, 1000> > >&)::<lambda(auto:20&& ...)>; _Tuple = tuple<const mongo::logv2::detail::NamedArg<const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>&, const mongo::logv2::detail::NamedArg<mongo::Duration<ratio<1, 1000> > >&>; long unsigned int ..._Idx = {0, 1}]' at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/tuple:2287:27, inlined from 'constexpr decltype(auto) std::apply(_Fn&&, _Tuple&&) [with _Fn = mongo::logv2::detail::doLog<mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING, 14, NamedArg<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, NamedArg<mongo::Duration<std::ratio<1, 1000> > > >(int32_t, const mongo::logv2::LogSeverity&, const mongo::logv2::LogOptions&, const mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING&, const char (&)[14], const NamedArg<const std::__cxx11::basic_string<char>&>&, const NamedArg<mongo::Duration<std::ratio<1, 1000> > >&)::<lambda(auto:20&& ...)>; _Tuple = tuple<const mongo::logv2::detail::NamedArg<const __cxx11::basic_string<char, char_traits<char>, allocator<char> >&>&, const mongo::logv2::detail::NamedArg<mongo::Duration<ratio<1, 1000> > >&>]' at /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/tuple:2298:31, inlined from 'void mongo::logv2::detail::doLog(int32_t, const mongo::logv2::LogSeverity&, const mongo::logv2::LogOptions&, const S&, const char (&)[N], const Args& ...) [with S = mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)::<lambda()>::FMT_COMPILE_STRING; long unsigned int N = 14; Args = {NamedArg<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&>, NamedArg<mongo::Duration<std::ratio<1, 1000> > >}]' at src/mongo/logv2/log_detail.h:121:15, inlined from 'void mongo::{anonymous}::PeriodicTaskRunner::_runTask(mongo::PeriodicTask*)' at src/mongo/util/background.cpp:358:440: /usr/lib/gcc/x86_64-pc-linux-gnu/13/include/g++-v13/bits/invoke.h:61:36: internal compiler error: in modify_call, at ipa-param-manipulation.cc:700 61 | { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } | ~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 0x1ced1ad internal_error(char const*, ...) ???:0 0x6be47f fancy_abort(char const*, int, char const*) ???:0 0x9bfc8e cgraph_edge::redirect_call_stmt_to_callee(cgraph_edge*) ???:0 0xe54a9b redirect_all_calls(copy_body_data*, basic_block_def*) ???:0 0xe601bb optimize_inline_calls(tree_node*) ???:0 0xbbd42b inline_transform(cgraph_node*) ???:0 0xd125df execute_all_ipa_transforms(bool) ???:0 0x9c640f cgraph_node::expand() ???:0 0x9c9f77 symbol_table::finalize_compilation_unit() ???:0