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).