https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99640
Bug ID: 99640 Summary: Internal compiler error: in lookup_template_class_1, at cp/pt.c:9895 Product: gcc Version: 10.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: fiesh at zefix dot tv Target Milestone: --- The following reduced code results in the internal compiler error mentioned in the subject line: --------------- class QVariantOutputArchive { public: QVariantOutputArchive(int); template <typename...> void operator()() { { { { { { { { { { { { { { { [](auto) { operator(); }; } } } } } } } } } } } } } } } }; template <typename, int> void qVariantArchiveTestVersioned() { int variant; QVariantOutputArchive oar(variant); oar(); } void qVariantArchiveTest() { qVariantArchiveTestVersioned<int, true>; } --------------- % c++ -c -std=c++17 zomg.ii zomg.ii: In instantiation of ‘void QVariantOutputArchive::operator()() [with <template-parameter-1-1> = {}]’: zomg.ii:39:6: required from ‘void qVariantArchiveTestVersioned() [with <template-parameter-1-1> = int; int <anonymous> = 1]’ zomg.ii:41:69: required from here zomg.ii:19:44: internal compiler error: in lookup_template_class_1, at cp/pt.c:9895 19 | [](auto) { operator(); }; | ^~~~~~~~~~ 0x5c3a44 lookup_template_class_1 /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:9895 0x7399a5 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:10118 0x7399a5 tsubst_aggr_type /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:13400 0x734326 tsubst(tree_node*, tree_node*, int, tree_node*) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:15181 0x73114c tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:19302 0x730bcc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:19160 0x730bcc tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:19281 0x731904 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:20211 0x72a405 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:19160 0x72a405 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:18773 0x72bdb1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:17840 0x72bdb1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:17885 0x72aeb8 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:17840 0x72aeb8 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:18174 0x72aeb8 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:17840 0x72aeb8 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:18174 0x72ff96 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:17840 0x72ff96 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:19113 0x7327c9 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:20508 0x72a405 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /usr/src/debug/sys-devel/gcc-10.2.0-r5/gcc-10.2.0/gcc/cp/pt.c:19160 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <https://bugs.gentoo.org/> for instructions.