public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug c++/109651] New: ICE in lookup_template_class
@ 2023-04-27 17:13 jeanmichael.celerier at gmail dot com
2023-04-27 17:20 ` [Bug c++/109651] " mpolacek at gcc dot gnu.org
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: jeanmichael.celerier at gmail dot com @ 2023-04-27 17:13 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Bug ID: 109651
Summary: ICE in lookup_template_class
Product: gcc
Version: 13.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: jeanmichael.celerier at gmail dot com
Target Milestone: ---
g++ version: g++ (SUSE Linux) 13.0.1 20230421 (prerelease) [revision
f980561c60b0446cc427595198d7f3f4f90e0924]
as shipped by opensuse tumbleweed (reproducible in the official
opensuse/tumbleweed:latest container)
preprocessed source as given by -freport-bug attached.
/usr/bin/g++-13 -DBOOST_ASIO_DISABLE_CONCEPTS=1
-DBOOST_MATH_DISABLE_FLOAT128=1 -DBOOST_NO_RTTI=1 -DLIBREMIDI_ALSA
-DLIBREMIDI_JACK -DQT_CORE_LIB -DQT_DISABLE_DEPRECATED_BEFORE=0x0605ff
-DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG -DQT_NO_JAVA_STYLE_ITERATORS
-DQT_NO_KEYWORDS -DQT_NO_LINKED_LIST -DQT_NO_NARROWING_CONVERSIONS_IN_CONNECT
-DQT_NO_USING_NAMESPACE -DQT_OPENGL_LIB -DQT_QMLINTEGRATION_LIB -DQT_QML_LIB
-DQT_SERIALPORT_LIB -DQT_SHADERTOOLS_LIB -DQT_STATEMACHINE_LIB
-DQT_USE_QSTRINGBUILDER -DQT_WEBSOCKETS_LIB -DQT_WIDGETS_LIB
-DRAPIDJSON_HAS_STDSTRING=1 -DSCORE_ADDON_NETWORK_EXPORTS -DSCORE_LIB_BASE
-DSCORE_LIB_DEVICE -DSCORE_LIB_INSPECTOR -DSCORE_LIB_LOCALTREE
-DSCORE_LIB_PCH_EXPORTS -DSCORE_LIB_PROCESS -DSCORE_LIB_STATE
-DSCORE_PLUGIN_AUDIO -DSCORE_PLUGIN_AUTOMATION -DSCORE_PLUGIN_AVND
-DSCORE_PLUGIN_CURVE -DSCORE_PLUGIN_DATAFLOW -DSCORE_PLUGIN_DEVICEEXPLORER
-DSCORE_PLUGIN_ENGINE -DSCORE_PLUGIN_GFX -DSCORE_PLUGIN_LIBRARY
-DSCORE_PLUGIN_MEDIA -DSCORE_PLUGIN_SCENARIO -DSCORE_PLUGIN_TRANSPORT
-DSERVUS_USE_AVAHI_CLIENT -DTINYSPLINE_DOUBLE_PRECISION
-I/tmp/build/src/addons/iscore-addon-network
-I/ossia/score/src/addons/iscore-addon-network -I/tmp/build
-I/ossia/score/3rdparty -I/ossia/score/3rdparty/zipdownloader/src
-I/ossia/score/3rdparty/QProgressIndicator
-I/ossia/score/3rdparty/Qt-Color-Widgets
-I/ossia/score/3rdparty/Qt-Color-Widgets/src
-I/ossia/score/3rdparty/Qt-Color-Widgets/QtColorWidgets
-I/ossia/score/3rdparty/libossia/3rdparty/verdigris/src -I/tmp/build/src/lib
-I/ossia/score/src/lib -I/ossia/score/3rdparty/libossia/3rdparty/Flicks
-I/ossia/score/3rdparty/libossia/src -I/tmp/build/3rdparty/libossia/src
-I/ossia/score/3rdparty/libossia/3rdparty/Servus/servus/..
-I/ossia/score/3rdparty/QCodeEditor/include
-I/tmp/build/src/plugins/score-plugin-scenario
-I/ossia/score/src/plugins/score-plugin-scenario
-I/usr/include/qt6/QtDBus/6.5.0 -I/usr/include/qt6/QtDBus/6.5.0/QtDBus
-I/tmp/build/src/plugins/score-lib-process
-I/ossia/score/src/plugins/score-lib-process
-I/tmp/build/src/plugins/score-lib-state
-I/ossia/score/src/plugins/score-lib-state
-I/tmp/build/src/plugins/score-lib-inspector
-I/ossia/score/src/plugins/score-lib-inspector
-I/tmp/build/src/plugins/score-lib-device
-I/ossia/score/src/plugins/score-lib-device
-I/tmp/build/src/plugins/score-lib-localtree
-I/ossia/score/src/plugins/score-lib-localtree
-I/tmp/build/src/plugins/score-plugin-deviceexplorer
-I/ossia/score/src/plugins/score-plugin-deviceexplorer
-I/tmp/build/src/plugins/score-plugin-curve
-I/ossia/score/src/plugins/score-plugin-curve
-I/tmp/build/src/plugins/score-plugin-automation
-I/ossia/score/src/plugins/score-plugin-automation
-I/tmp/build/src/plugins/score-plugin-library
-I/ossia/score/src/plugins/score-plugin-library
-I/tmp/build/src/plugins/score-plugin-transport
-I/ossia/score/src/plugins/score-plugin-transport
-I/tmp/build/src/plugins/score-plugin-engine
-I/ossia/score/src/plugins/score-plugin-engine
-I/tmp/build/src/plugins/score-plugin-audio
-I/ossia/score/src/plugins/score-plugin-audio
-I/tmp/build/src/plugins/score-plugin-avnd
-I/ossia/score/src/plugins/score-plugin-avnd
-I/tmp/build/src/plugins/score-plugin-media
-I/ossia/score/src/plugins/score-plugin-media
-I/tmp/build/src/plugins/score-plugin-dataflow
-I/ossia/score/src/plugins/score-plugin-dataflow
-I/ossia/score/3rdparty/libossia/3rdparty
-I/ossia/score/3rdparty/DSPFilters/DSPFilters/include
-I/ossia/score/3rdparty/Gamma -I/tmp/build/src/plugins/score-plugin-gfx
-I/ossia/score/src/plugins/score-plugin-gfx -I/tmp/build/3rdparty/snappy
-I/ossia/score/3rdparty/snappy -isystem
/ossia/score/3rdparty/libossia/3rdparty/nano-signal-slot -isystem
/ossia/score/3rdparty/libossia/3rdparty/brigand -isystem
/ossia/score/3rdparty/libossia/3rdparty/readerwriterqueue -isystem
/ossia/score/3rdparty/magicitems/include -isystem
/ossia/score/3rdparty/avendish/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/boost_1_81_0 -isystem
/ossia/score/3rdparty/libossia/3rdparty/rnd/include -isystem
/usr/include/qt6/QtCore -isystem /usr/include/qt6 -isystem
/usr/lib64/qt6/mkspecs/linux-g++ -isystem /usr/include/qt6/QtGui -isystem
/usr/include/qt6/QtGui/6.5.0 -isystem /usr/include/qt6/QtGui/6.5.0/QtGui
-isystem /usr/include/qt6/QtCore/6.5.0 -isystem
/usr/include/qt6/QtCore/6.5.0/QtCore -isystem /usr/include/libxkbcommon
-isystem /usr/include/qt6/QtWidgets -isystem /usr/include/qt6/QtNetwork
-isystem /ossia/score/3rdparty/libossia/3rdparty/weakjack -isystem
/ossia/score/3rdparty/libossia/3rdparty/compile-time-regular-expressions/include
-isystem /ossia/score/3rdparty/libossia/3rdparty/mparkvariant/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/nano-signal-slot/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/spdlog/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/brigand/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/fmt/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/mdspan/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/tuplet/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/concurrentqueue -isystem
/ossia/score/3rdparty/libossia/3rdparty/SmallFunction/smallfun/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/websocketpp -isystem
/ossia/score/3rdparty/libossia/3rdparty/dr_libs -isystem
/ossia/score/3rdparty/libossia/3rdparty/span/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/unordered_dense/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/PerlinNoise -isystem
/ossia/score/3rdparty/libossia/3rdparty/rapidjson/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/libremidi/include -isystem
/ossia/score/3rdparty/libossia/3rdparty/oscpack -isystem /usr/include/qt6/QtQml
-isystem /usr/include/qt6/QtQmlIntegration -isystem
/usr/include/qt6/QtWebSockets -isystem /usr/include/qt6/QtSerialPort -isystem
/usr/include/qt6/QtOpenGL -isystem /usr/include/qt6/QtWidgets/6.5.0 -isystem
/usr/include/qt6/QtWidgets/6.5.0/QtWidgets -isystem
/usr/include/qt6/QtStateMachine -isystem /usr/include/qt6/QtShaderTools
-isystem /usr/include/qt6/QtShaderTools/6.5.0 -isystem
/usr/include/qt6/QtShaderTools/6.5.0/QtShaderTools -O3 -DNDEBUG -std=gnu++20
-fPIC -fvisibility=hidden -fvisibility-inlines-hidden -fopenmp-simd
-Winvalid-pch -include
/tmp/build/src/lib/CMakeFiles/score_lib_pch.dir/cmake_pch.hxx -MD -MT
src/addons/iscore-addon-network/CMakeFiles/score_addon_network.dir/score_addon_network.cpp.o
-MF
src/addons/iscore-addon-network/CMakeFiles/score_addon_network.dir/score_addon_network.cpp.o.d
-o
src/addons/iscore-addon-network/CMakeFiles/score_addon_network.dir/score_addon_network.cpp.o
-c /ossia/score/src/addons/iscore-addon-network/score_addon_network.cpp
-freport-bug
In file included from
/ossia/score/3rdparty/avendish/include/avnd/binding/ossia/node.hpp:17,
from
/ossia/score/3rdparty/avendish/include/avnd/binding/ossia/data_node.hpp:2,
from
/ossia/score/src/plugins/score-plugin-avnd/Crousti/Executor.hpp:38,
from
/ossia/score/src/plugins/score-plugin-avnd/Avnd/Factories.hpp:4,
from
/ossia/score/src/addons/iscore-addon-network/score_addon_network.cpp:6:
/ossia/score/3rdparty/avendish/include/avnd/wrappers/callbacks_adapter.hpp:
In instantiation of 'void
avnd::callback_storage<T>::wrap_callbacks(avnd::effect_container<T>&, auto:348)
[with auto:348 = oscr::safe_node_base<Netpit::MessagePit,
oscr::safe_node<Netpit::MessagePit> >::finish_init()::<lambda(Field&, L<Ret,
Args ...>, avnd::num<Idx>)>; T = Netpit::MessagePit]':
/ossia/score/3rdparty/avendish/include/avnd/binding/ossia/node.hpp:472:37:
required from 'void oscr::safe_node_base<T, AudioCount>::finish_init() [with T
= Netpit::MessagePit; AudioCount = oscr::safe_node<Netpit::MessagePit>]'
/ossia/score/src/plugins/score-plugin-avnd/Crousti/Executor.hpp:647:24:
required from 'oscr::Executor<Node>::Executor(oscr::ProcessModel<Info>&, const
Execution::Context&, QObject*) [with Node = Netpit::MessagePit]'
/usr/include/c++/13/bits/stl_construct.h:119:7: required from 'constexpr
void std::_Construct(_Tp*, _Args&& ...) [with _Tp =
oscr::Executor<Netpit::MessagePit>; _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}]'
/usr/include/c++/13/bits/alloc_traits.h:660:19: required from 'static
constexpr void std::allocator_traits<std::allocator<void>
>::construct(allocator_type&, _Up*, _Args&& ...) [with _Up =
oscr::Executor<Netpit::MessagePit>; _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}; allocator_type = std::allocator<void>]'
/usr/include/c++/13/bits/shared_ptr_base.h:604:39: required from
'std::_Sp_counted_ptr_inplace<_Tp, _Alloc,
_Lp>::_Sp_counted_ptr_inplace(_Alloc, _Args&& ...) [with _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}; _Tp = oscr::Executor<Netpit::MessagePit>; _Alloc =
std::allocator<void>; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
/usr/include/c++/13/bits/shared_ptr_base.h:971:16: required from
'std::__shared_count<_Lp>::__shared_count(_Tp*&,
std::_Sp_alloc_shared_tag<_Alloc>, _Args&& ...) [with _Tp =
oscr::Executor<Netpit::MessagePit>; _Alloc = std::allocator<void>; _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}; __gnu_cxx::_Lock_policy _Lp = __gnu_cxx::_S_atomic]'
/usr/include/c++/13/bits/shared_ptr_base.h:1712:14: required from
'std::__shared_ptr<_Tp, _Lp>::__shared_ptr(std::_Sp_alloc_shared_tag<_Tp>,
_Args&& ...) [with _Alloc = std::allocator<void>; _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}; _Tp = oscr::Executor<Netpit::MessagePit>; __gnu_cxx::_Lock_policy
_Lp = __gnu_cxx::_S_atomic]'
/usr/include/c++/13/bits/shared_ptr.h:464:59: required from
'std::shared_ptr<_Tp>::shared_ptr(std::_Sp_alloc_shared_tag<_Tp>, _Args&& ...)
[with _Alloc = std::allocator<void>; _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}; _Tp = oscr::Executor<Netpit::MessagePit>]'
/usr/include/c++/13/bits/shared_ptr.h:1009:14: required from
'std::shared_ptr<std::_NonArray<_Tp> > std::make_shared(_Args&& ...) [with _Tp
= oscr::Executor<Netpit::MessagePit>; _Args =
{oscr::ProcessModel<Netpit::MessagePit>&, const Execution::Context&,
QObject*&}; _NonArray<_Tp> = oscr::Executor<Netpit::MessagePit>]'
/ossia/score/src/plugins/score-lib-process/Process/Execution/ProcessComponent.hpp:132:55:
required from 'std::shared_ptr<Execution::ProcessComponent>
Execution::ProcessComponentFactory_T<ProcessComponent_T>::make(Process::ProcessModel&,
const Execution::Context&, QObject*) const [with ProcessComponent_T =
oscr::Executor<Netpit::MessagePit>]'
/ossia/score/src/plugins/score-lib-process/Process/Execution/ProcessComponent.hpp:121:37:
required from here
/ossia/score/3rdparty/avendish/include/avnd/wrappers/callbacks_adapter.hpp:116:13:
internal compiler error: Segmentation fault
116 | []<template <typename...> typename L, typename...
Args>(L<void*, Args...>) {
|
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
117 | // this is what actually goes in cb.call.function:
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
118 | return +[](void* self, Args... args) {
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
119 | (*reinterpret_cast<stored_type*>(self))(args...);
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
120 | };
| ~~
121 | }(args{}); // < note that the top-level lambda is
immediately invoked here !
| ~
0x11df831 internal_error(char const*, ...)
???:0
0x14d4064 lookup_template_class(tree_node*, tree_node*, tree_node*,
tree_node*, int, int)
???:0
0x14e5f3d tsubst(tree_node*, tree_node*, int, tree_node*)
???:0
0xa3f86a tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x154a1fc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
???:0
0x1549079 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
???:0
0x154999b tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d1a1 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d400 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d3ab tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d2b8 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d343 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0xa3fac6 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x154a1fc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d1a1 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d5bd tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d325 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d2b8 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d7c8 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
0x156d343 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
???:0
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
@ 2023-04-27 17:20 ` mpolacek at gcc dot gnu.org
2023-04-27 17:23 ` pinskia at gcc dot gnu.org
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2023-04-27 17:20 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |mpolacek at gcc dot gnu.org
--- Comment #1 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
It appears that the preprocessed source file isn't attached.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
2023-04-27 17:20 ` [Bug c++/109651] " mpolacek at gcc dot gnu.org
@ 2023-04-27 17:23 ` pinskia at gcc dot gnu.org
2023-04-27 17:51 ` jeanmichael.celerier at gmail dot com
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: pinskia at gcc dot gnu.org @ 2023-04-27 17:23 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
>preprocessed source as given by -freport-bug attached.
The attachment might have been too big, please try to compress it and try
again.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
2023-04-27 17:20 ` [Bug c++/109651] " mpolacek at gcc dot gnu.org
2023-04-27 17:23 ` pinskia at gcc dot gnu.org
@ 2023-04-27 17:51 ` jeanmichael.celerier at gmail dot com
2023-04-27 18:00 ` mpolacek at gcc dot gnu.org
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: jeanmichael.celerier at gmail dot com @ 2023-04-27 17:51 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
--- Comment #3 from Jean-Michaël Celerier <jeanmichael.celerier at gmail dot com> ---
Created attachment 54943
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=54943&action=edit
Preprocessed source
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (2 preceding siblings ...)
2023-04-27 17:51 ` jeanmichael.celerier at gmail dot com
@ 2023-04-27 18:00 ` mpolacek at gcc dot gnu.org
2023-04-27 18:25 ` [Bug c++/109651] [13/14 Regression] " mpolacek at gcc dot gnu.org
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2023-04-27 18:00 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Last reconfirmed| |2023-04-27
Status|UNCONFIRMED |NEW
Ever confirmed|0 |1
--- Comment #4 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Thanks, confirmed:
$ ./cc1plus -quiet cckO4CPD.out -O3 -Winvalid-pch -std=gnu++20 -fPIC
-fvisibility=hidden -fvisibility-inlines-hidden -fopenmp-simd
In file included from
/ossia/score/3rdparty/avendish/include/avnd/binding/ossia/node.hpp:17,
from
/ossia/score/3rdparty/avendish/include/avnd/binding/ossia/data_node.hpp:2,
from
/ossia/score/src/addons/iscore-addon-network/score_addon_network.cpp:4:
/ossia/score/3rdparty/avendish/include/avnd/wrappers/callbacks_adapter.hpp: In
instantiation of ‘void
avnd::callback_storage<T>::wrap_callbacks(avnd::effect_container<T>&, auto:241)
[with auto:241 = oscr::safe_node_base<Netpit::MessagePit,
oscr::safe_node<Netpit::MessagePit> >::finish_init()::<lambda(Field&, L<Ret,
Args ...>, avnd::num<Idx>)>; T = Netpit::MessagePit]’:
/ossia/score/3rdparty/avendish/include/avnd/binding/ossia/node.hpp:472:37:
required from ‘void oscr::safe_node_base<T, AudioCount>::finish_init() [with T
= Netpit::MessagePit; AudioCount = oscr::safe_node<Netpit::MessagePit>]’
/ossia/score/src/addons/iscore-addon-network/score_addon_network.cpp:17:16:
required from here
/ossia/score/3rdparty/avendish/include/avnd/wrappers/callbacks_adapter.hpp:116:13:
internal compiler error: Segmentation fault
0x1935042 crash_signal
/home/mpolacek/src/gcc/gcc/toplev.cc:314
0x7f9bcfe97b1f ???
/usr/src/debug/glibc-2.36-9.fc37.x86_64/signal/../sysdeps/unix/sysv/linux/x86_64/libc_sigaction.c:0
0xc4ed40 tree_check(tree_node*, char const*, int, char const*, tree_code)
/home/mpolacek/src/gcc/gcc/tree.h:3539
0xf7fc5b coerce_template_args_for_ttp
/home/mpolacek/src/gcc/gcc/cp/pt.cc:7884
0xf8665a lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:9866
0xfaa7ea tsubst(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:16292
0xfa7435 tsubst_arg_types
/home/mpolacek/src/gcc/gcc/cp/pt.cc:15517
0xfa7b48 tsubst_function_type
/home/mpolacek/src/gcc/gcc/cp/pt.cc:15671
0xfaaf18 tsubst(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:16464
0xfc123f tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:20140
0xfc8fb9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:21722
0xfc5368 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:21035
0xfc46ac tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:20855
0xfbfbdc tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:19891
0xfb7a37 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:18868
0xfb77d4 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:18840
0xfba921 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:19220
0xfb77d4 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:18840
0xfc1739 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:20222
0xfc8fb9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*)
/home/mpolacek/src/gcc/gcc/cp/pt.cc:21722
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (3 preceding siblings ...)
2023-04-27 18:00 ` mpolacek at gcc dot gnu.org
@ 2023-04-27 18:25 ` mpolacek at gcc dot gnu.org
2023-04-27 18:31 ` ppalka at gcc dot gnu.org
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: mpolacek at gcc dot gnu.org @ 2023-04-27 18:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Marek Polacek <mpolacek at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Target Milestone|--- |13.2
Summary|ICE in |[13/14 Regression] ICE in
|lookup_template_class |lookup_template_class
CC| |ppalka at gcc dot gnu.org
Keywords| |ice-on-valid-code
--- Comment #5 from Marek Polacek <mpolacek at gcc dot gnu.org> ---
Started with r14-11-g2245459c85a3f4
commit 2245459c85a3f4cde3d33bf3e4edaff08f3b2404
Author: Patrick Palka <ppalka@redhat.com>
Date: Mon Apr 17 18:52:07 2023 -0400
c++: bound ttp level lowering [PR109531]
which was backported to 13 in c895eb11c8c95aa5714fa4043194b1001336567e
-fvisibility=hidden -fvisibility-inlines-hidden -fopenmp-simd aren't needed,
btw.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (4 preceding siblings ...)
2023-04-27 18:25 ` [Bug c++/109651] [13/14 Regression] " mpolacek at gcc dot gnu.org
@ 2023-04-27 18:31 ` ppalka at gcc dot gnu.org
2023-04-28 6:25 ` rguenth at gcc dot gnu.org
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-04-27 18:31 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
--- Comment #6 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Reduced:
template<class T>
void f() {
[](auto) {
[]<template<class> class L>(L<int>) { };
};
}
template void f<int>();
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (5 preceding siblings ...)
2023-04-27 18:31 ` ppalka at gcc dot gnu.org
@ 2023-04-28 6:25 ` rguenth at gcc dot gnu.org
2023-04-28 20:37 ` ppalka at gcc dot gnu.org
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: rguenth at gcc dot gnu.org @ 2023-04-28 6:25 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Priority|P3 |P2
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (6 preceding siblings ...)
2023-04-28 6:25 ` rguenth at gcc dot gnu.org
@ 2023-04-28 20:37 ` ppalka at gcc dot gnu.org
2023-05-07 15:54 ` [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4 cvs-commit at gcc dot gnu.org
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-04-28 20:37 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
Assignee|unassigned at gcc dot gnu.org |ppalka at gcc dot gnu.org
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (7 preceding siblings ...)
2023-04-28 20:37 ` ppalka at gcc dot gnu.org
@ 2023-05-07 15:54 ` cvs-commit at gcc dot gnu.org
2023-05-07 15:55 ` [Bug c++/109651] [13 " ppalka at gcc dot gnu.org
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-07 15:54 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Patrick Palka <ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:7bfb1550ccea7c426d50244e980f01f30db8ba0c
commit r14-559-g7bfb1550ccea7c426d50244e980f01f30db8ba0c
Author: Patrick Palka <ppalka@redhat.com>
Date: Sun May 7 11:54:21 2023 -0400
c++: bound ttp in lambda function type [PR109651]
After r14-11-g2245459c85a3f4 we now coerce the template arguments of a
bound ttp again after level-lowering it. Notably a level-lowered ttp
doesn't have DECL_CONTEXT set, so during this coercion we fall back to
using current_template_parms to obtain the relevant set of in-scope
parameters.
But it turns out current_template_parms isn't properly set when
substituting the function type of a generic lambda, and so if the type
contains bound ttps that need to be lowered we'll crash during their
attempted coercion. Specifically in the first testcase below,
current_template_parms during the lambda type substitution (with T=int)
is "1 U" instead of the expected "2 TT, 1 U", and we crash when level
lowering TT<int>.
Ultimately the problem is that tsubst_lambda_expr does things in the
wrong order: we ought to substitute (and install) the in-scope template
parameters _before_ substituting anything that may use those template
parameters (such as the function type of a generic lambda). This patch
corrects this substitution order.
PR c++/109651
gcc/cp/ChangeLog:
* pt.cc (coerce_template_args_for_ttp): Mention we can hit the
current_template_parms fallback when level-lowering a bound ttp.
(tsubst_template_decl): Add lambda_tparms parameter. Prefer to
use lambda_tparms instead of substituting DECL_TEMPLATE_PARMS.
(tsubst_decl) <case TEMPLATE_DECL>: Pass NULL_TREE as lambda_tparms
to tsubst_template_decl.
(tsubst_lambda_expr): For a generic lambda, substitute
DECL_TEMPLATE_PARMS and set current_template_parms to it
before substituting the function type. Pass the substituted
DECL_TEMPLATE_PARMS as lambda_tparms to tsubst_template_decl.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/lambda-generic-ttp1.C: New test.
* g++.dg/cpp2a/lambda-generic-ttp2.C: New test.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (8 preceding siblings ...)
2023-05-07 15:54 ` [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4 cvs-commit at gcc dot gnu.org
@ 2023-05-07 15:55 ` ppalka at gcc dot gnu.org
2023-05-12 15:07 ` cvs-commit at gcc dot gnu.org
2023-05-12 15:22 ` ppalka at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-05-07 15:55 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|[13/14 Regression] ICE in |[13 Regression] ICE in
|lookup_template_class since |lookup_template_class since
|r14-11-g2245459c85a3f4 |r14-11-g2245459c85a3f4
--- Comment #8 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Fixed on trunk so far.
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (9 preceding siblings ...)
2023-05-07 15:55 ` [Bug c++/109651] [13 " ppalka at gcc dot gnu.org
@ 2023-05-12 15:07 ` cvs-commit at gcc dot gnu.org
2023-05-12 15:22 ` ppalka at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: cvs-commit at gcc dot gnu.org @ 2023-05-12 15:07 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
--- Comment #9 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The releases/gcc-13 branch has been updated by Patrick Palka
<ppalka@gcc.gnu.org>:
https://gcc.gnu.org/g:986e38bcb0368a884fb4ea16159dd852406af078
commit r13-7322-g986e38bcb0368a884fb4ea16159dd852406af078
Author: Patrick Palka <ppalka@redhat.com>
Date: Sun May 7 11:54:21 2023 -0400
c++: bound ttp in lambda function type [PR109651]
After r14-11-g2245459c85a3f4 we now coerce the template arguments of a
bound ttp again after level-lowering it. Notably a level-lowered ttp
doesn't have DECL_CONTEXT set, so during this coercion we fall back to
using current_template_parms to obtain the relevant set of in-scope
parameters.
But it turns out current_template_parms isn't properly set when
substituting the function type of a generic lambda, and so if the type
contains bound ttps that need to be lowered we'll crash during their
attempted coercion. Specifically in the first testcase below,
current_template_parms during the lambda type substitution (with T=int)
is "1 U" instead of the expected "2 TT, 1 U", and we crash when level
lowering TT<int>.
Ultimately the problem is that tsubst_lambda_expr does things in the
wrong order: we ought to substitute (and install) the in-scope template
parameters _before_ substituting anything that may use those template
parameters (such as the function type of a generic lambda). This patch
corrects this substitution order.
PR c++/109651
gcc/cp/ChangeLog:
* pt.cc (coerce_template_args_for_ttp): Mention we can hit the
current_template_parms fallback when level-lowering a bound ttp.
(tsubst_template_decl): Add lambda_tparms parameter. Prefer to
use lambda_tparms instead of substituting DECL_TEMPLATE_PARMS.
(tsubst_decl) <case TEMPLATE_DECL>: Pass NULL_TREE as lambda_tparms
to tsubst_template_decl.
(tsubst_lambda_expr): For a generic lambda, substitute
DECL_TEMPLATE_PARMS and set current_template_parms to it
before substituting the function type. Pass the substituted
DECL_TEMPLATE_PARMS as lambda_tparms to tsubst_template_decl.
gcc/testsuite/ChangeLog:
* g++.dg/cpp2a/lambda-generic-ttp1.C: New test.
* g++.dg/cpp2a/lambda-generic-ttp2.C: New test.
(cherry picked from commit 7bfb1550ccea7c426d50244e980f01f30db8ba0c)
^ permalink raw reply [flat|nested] 13+ messages in thread
* [Bug c++/109651] [13 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
` (10 preceding siblings ...)
2023-05-12 15:07 ` cvs-commit at gcc dot gnu.org
@ 2023-05-12 15:22 ` ppalka at gcc dot gnu.org
11 siblings, 0 replies; 13+ messages in thread
From: ppalka at gcc dot gnu.org @ 2023-05-12 15:22 UTC (permalink / raw)
To: gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109651
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Resolution|--- |FIXED
Status|ASSIGNED |RESOLVED
--- Comment #10 from Patrick Palka <ppalka at gcc dot gnu.org> ---
Fixed for GCC 13.2, thanks for the bug report.
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2023-05-12 15:22 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-27 17:13 [Bug c++/109651] New: ICE in lookup_template_class jeanmichael.celerier at gmail dot com
2023-04-27 17:20 ` [Bug c++/109651] " mpolacek at gcc dot gnu.org
2023-04-27 17:23 ` pinskia at gcc dot gnu.org
2023-04-27 17:51 ` jeanmichael.celerier at gmail dot com
2023-04-27 18:00 ` mpolacek at gcc dot gnu.org
2023-04-27 18:25 ` [Bug c++/109651] [13/14 Regression] " mpolacek at gcc dot gnu.org
2023-04-27 18:31 ` ppalka at gcc dot gnu.org
2023-04-28 6:25 ` rguenth at gcc dot gnu.org
2023-04-28 20:37 ` ppalka at gcc dot gnu.org
2023-05-07 15:54 ` [Bug c++/109651] [13/14 Regression] ICE in lookup_template_class since r14-11-g2245459c85a3f4 cvs-commit at gcc dot gnu.org
2023-05-07 15:55 ` [Bug c++/109651] [13 " ppalka at gcc dot gnu.org
2023-05-12 15:07 ` cvs-commit at gcc dot gnu.org
2023-05-12 15:22 ` ppalka at gcc dot gnu.org
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).