llvm / llvm-project

The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
http://llvm.org
Other
28.22k stars 11.65k forks source link

clang-17 ICE on invalid code in `clang::Expr::EvaluateAsConstantExpr` #77250

Open ericniebler opened 8 months ago

ericniebler commented 8 months ago

Files attached hello_world-57224b.zip

Click to view stack trace ``` [build] PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. [build] Stack dump: [build] 0. Program arguments: /usr/bin/clang++-17 -DSTDEXEC_ENABLE_EXTRA_TYPE_CHECKING -I/home/eniebler/Code/stdexec/include -g -std=c++20 -Wall -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -MD -MT examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o -MF examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o.d -o examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o -c /home/eniebler/Code/stdexec/examples/hello_world.cpp [build] 1. /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:57: current parser token ')' [build] 2. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: parsing function body 'main' [build] 3. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: in compound statement ('{}') [build] 4. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5386:12: instantiating class definition 'stdexec::__sync_wait::__value_tuple_for>' [build] 5. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:730:19: instantiating function definition 'stdexec::__get_completion_signatures::get_completion_signatures_t::__impl, stdexec::__sync_wait::__env>' [build] #0 0x00007f62994cc406 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xccc406) [build] #1 0x00007f62994ca5b0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xcca5b0) [build] #2 0x00007f6299420d70 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20d70) [build] #3 0x00007f6298042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) [build] #4 0x00007f62a0d6bd6c (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd6bd6c) [build] #5 0x00007f62a0d24062 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd24062) [build] #6 0x00007f62a0d20244 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd20244) [build] #7 0x00007f62a0d1fc69 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd1fc69) [build] #8 0x00007f62a1333c13 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333c13) [build] #9 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #10 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #11 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #12 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #13 0x00007f62a19570a5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19570a5) [build] #14 0x00007f62a19532dd (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19532dd) [build] #15 0x00007f62a194a1f5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194a1f5) [build] #16 0x00007f62a19321e4 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19321e4) [build] #17 0x00007f62a197237b clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x197237b) [build] #18 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #19 0x00007f62a18d63c7 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d63c7) [build] #20 0x00007f62a14d16a1 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d16a1) [build] #21 0x00007f62a17bbf66 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17bbf66) [build] #22 0x00007f62a17bbe5e clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17bbe5e) [build] #23 0x00007f62a14d5f0b clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d5f0b) [build] #24 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #25 0x00007f62a1939b77 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1939b77) [build] #26 0x00007f62a19399f5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19399f5) [build] #27 0x00007f62a194bbe7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194bbe7) [build] #28 0x00007f62a192ccd9 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192ccd9) [build] #29 0x00007f62a196aa89 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89) [build] #30 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19679f6) [build] #31 0x00007f62a199b124 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x199b124) [build] #32 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #33 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3) [build] #34 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d184d) [build] #35 0x00007f62a1925a17 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1925a17) [build] #36 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #37 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref)>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d2f16) [build] #38 0x00007f62a17abde9 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17abde9) [build] #39 0x00007f62a17ac7d3 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17ac7d3) [build] #40 0x00007f62a17c37e7 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17c37e7) [build] #41 0x00007f62a14d668e clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d668e) [build] #42 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #43 0x00007f62a1939b77 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1939b77) [build] #44 0x00007f62a194bbe7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194bbe7) [build] #45 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #46 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #47 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #48 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #49 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #50 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #51 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #52 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #53 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #54 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #55 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #56 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #57 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #58 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #59 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #60 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #61 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #62 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #63 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #64 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #65 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #66 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #67 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #68 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #69 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #70 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #71 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #72 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #73 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #74 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #75 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #76 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #77 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #78 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #79 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #80 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #81 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #82 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #83 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #84 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #85 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #86 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #87 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #88 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #89 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #90 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #91 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #92 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #93 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #94 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #95 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #96 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #97 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #98 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #99 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #100 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #101 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #102 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #103 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #104 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #105 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #106 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #107 0x00007f62a1947df0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1947df0) [build] #108 0x00007f62a193f7e9 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193f7e9) [build] #109 0x00007f62a1933362 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1933362) [build] #110 0x00007f62a1334b97 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1334b97) [build] #111 0x00007f62a1333b69 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333b69) [build] #112 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #113 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #114 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #115 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #116 0x00007f62a1933362 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1933362) [build] #117 0x00007f62a1334b97 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1334b97) [build] #118 0x00007f62a1333b69 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333b69) [build] #119 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #120 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #121 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #122 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #123 0x00007f62a19434fa (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19434fa) [build] #124 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #125 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #126 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #127 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #128 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #129 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #130 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #131 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #132 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #133 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #134 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #135 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #136 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #137 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #138 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #139 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #140 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #141 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #142 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #143 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #144 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #145 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #146 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #147 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #148 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #149 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #150 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #151 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #152 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #153 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #154 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #155 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #156 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #157 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #158 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #159 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #160 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #161 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #162 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #163 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #164 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #165 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #166 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #167 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #168 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #169 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #170 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #171 0x00007f62a192b8dc clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192b8dc) [build] #172 0x00007f62a1961cbb clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1961cbb) [build] #173 0x00007f62a1962d61 clang::TemplateDeclInstantiator::VisitTypeAliasDecl(clang::TypeAliasDecl*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1962d61) [build] #174 0x00007f62a192f956 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192f956) [build] #175 0x00007f62a19317c3 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19317c3) [build] #176 0x00007f62a19dcfee (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19dcfee) [build] #177 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #178 0x00007f62a19cf46d clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cf46d) [build] #179 0x00007f62a19cec30 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cec30) [build] #180 0x00007f62a126e128 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x126e128) [build] #181 0x00007f62a183f974 clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x183f974) [build] #182 0x00007f62a194a41b (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194a41b) [build] #183 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #184 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #185 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #186 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #187 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #188 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #189 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #190 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #191 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #192 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #193 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #194 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #195 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #196 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #197 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #198 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #199 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #200 0x00007f62a192ccd9 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192ccd9) [build] #201 0x00007f62a196aa89 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89) [build] #202 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19679f6) [build] #203 0x00007f62a199b124 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x199b124) [build] #204 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #205 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3) [build] #206 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d184d) [build] #207 0x00007f62a1925a17 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1925a17) [build] #208 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #209 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref)>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d2f16) [build] #210 0x00007f62a17abde9 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17abde9) [build] #211 0x00007f62a17ac7d3 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17ac7d3) [build] #212 0x00007f62a17c37e7 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17c37e7) [build] #213 0x00007f62a14d668e clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d668e) [build] #214 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #215 0x00007f62a0a8034b clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa8034b) [build] #216 0x00007f62a0a81ad7 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa81ad7) [build] #217 0x00007f62a0a7d4c1 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa7d4c1) [build] #218 0x00007f62a0a7d399 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa7d399) [build] #219 0x00007f62a0addc55 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaddc55) [build] #220 0x00007f62a0adc154 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadc154) [build] #221 0x00007f62a0adbb08 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadbb08) [build] #222 0x00007f62a0ae3f60 clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae3f60) [build] #223 0x00007f62a0ae500f clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae500f) [build] #224 0x00007f62a0aff733 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaff733) [build] #225 0x00007f62a0a4c5c0 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa4c5c0) [build] #226 0x00007f62a0afe7d7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe7d7) [build] #227 0x00007f62a0afe1d1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe1d1) [build] #228 0x00007f62a0afd473 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafd473) [build] #229 0x00007f62a0afb919 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafb919) [build] #230 0x00007f62a0a378ce clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa378ce) [build] #231 0x00007f62a27570c5 clang::FrontendAction::Execute() (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x27570c5) [build] #232 0x00007f62a26d26c4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x26d26c4) [build] #233 0x00007f62a27d0e84 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x27d0e84) [build] #234 0x0000558b4d5ce856 cc1_main(llvm::ArrayRef, char const*, void*) (/usr/bin/clang++-17+0x12856) [build] #235 0x0000558b4d5cc3c5 (/usr/bin/clang++-17+0x103c5) [build] #236 0x00007f62a2394c59 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2394c59) [build] #237 0x00007f6299420b0c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20b0c) [build] #238 0x00007f62a239449e clang::driver::CC1Command::Execute(llvm::ArrayRef>, std::__cxx11::basic_string, std::allocator>*, bool*) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x239449e) [build] #239 0x00007f62a235d40d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d40d) [build] #240 0x00007f62a235d66e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl>&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d66e) [build] #241 0x00007f62a23791ed clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x23791ed) [build] #242 0x0000558b4d5cbd2d clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang++-17+0xfd2d) [build] #243 0x0000558b4d5d8562 main (/usr/bin/clang++-17+0x1c562) [build] #244 0x00007f6298029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 [build] #245 0x00007f6298029e40 call_init ./csu/../csu/libc-start.c:128:20 [build] #246 0x00007f6298029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 [build] #247 0x0000558b4d5c8df5 _start (/usr/bin/clang++-17+0xcdf5) [build] clang++-17: error: clang frontend command failed with exit code 139 (use -v to see invocation) [build] Ubuntu clang version 17.0.6 (++20231209124227+6009708b4367-1~exp1~20231209124336.77) [build] Target: x86_64-pc-linux-gnu [build] Thread model: posix [build] InstalledDir: /usr/bin [build] clang++-17: note: diagnostic msg: [build] ******************** [build] [build] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: [build] Preprocessed source(s) and associated run script(s) are located at: [build] clang++-17: note: diagnostic msg: /tmp/hello_world-57224b.cpp [build] clang++-17: note: diagnostic msg: /tmp/hello_world-57224b.sh [build] clang++-17: note: diagnostic msg: [build] [build] ******************** ```
llvmbot commented 8 months ago

@llvm/issue-subscribers-clang-frontend

Author: Eric Niebler (ericniebler)

Files attached [hello_world-57224b.zip](https://github.com/llvm/llvm-project/files/13854662/hello_world-57224b.zip) <details> <summary>Click to view stack trace</summary> ``` [build] PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. [build] Stack dump: [build] 0. Program arguments: /usr/bin/clang++-17 -DSTDEXEC_ENABLE_EXTRA_TYPE_CHECKING -I/home/eniebler/Code/stdexec/include -g -std=c++20 -Wall -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -MD -MT examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o -MF examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o.d -o examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o -c /home/eniebler/Code/stdexec/examples/hello_world.cpp [build] 1. /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:57: current parser token ')' [build] 2. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: parsing function body 'main' [build] 3. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: in compound statement ('{}') [build] 4. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5386:12: instantiating class definition 'stdexec::__sync_wait::__value_tuple_for<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>>' [build] 5. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:730:19: instantiating function definition 'stdexec::__get_completion_signatures::get_completion_signatures_t::__impl<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, stdexec::__sync_wait::__env>' [build] #0 0x00007f62994cc406 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xccc406) [build] #1 0x00007f62994ca5b0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xcca5b0) [build] #2 0x00007f6299420d70 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20d70) [build] #3 0x00007f6298042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) [build] #4 0x00007f62a0d6bd6c (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd6bd6c) [build] #5 0x00007f62a0d24062 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd24062) [build] #6 0x00007f62a0d20244 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd20244) [build] #7 0x00007f62a0d1fc69 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd1fc69) [build] #8 0x00007f62a1333c13 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333c13) [build] #9 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #10 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #11 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #12 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #13 0x00007f62a19570a5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19570a5) [build] #14 0x00007f62a19532dd (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19532dd) [build] #15 0x00007f62a194a1f5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194a1f5) [build] #16 0x00007f62a19321e4 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19321e4) [build] #17 0x00007f62a197237b clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x197237b) [build] #18 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #19 0x00007f62a18d63c7 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d63c7) [build] #20 0x00007f62a14d16a1 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d16a1) [build] #21 0x00007f62a17bbf66 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17bbf66) [build] #22 0x00007f62a17bbe5e clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17bbe5e) [build] #23 0x00007f62a14d5f0b clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d5f0b) [build] #24 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #25 0x00007f62a1939b77 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1939b77) [build] #26 0x00007f62a19399f5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19399f5) [build] #27 0x00007f62a194bbe7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194bbe7) [build] #28 0x00007f62a192ccd9 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192ccd9) [build] #29 0x00007f62a196aa89 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89) [build] #30 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19679f6) [build] #31 0x00007f62a199b124 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x199b124) [build] #32 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #33 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3) [build] #34 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d184d) [build] #35 0x00007f62a1925a17 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1925a17) [build] #36 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #37 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d2f16) [build] #38 0x00007f62a17abde9 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17abde9) [build] #39 0x00007f62a17ac7d3 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17ac7d3) [build] #40 0x00007f62a17c37e7 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17c37e7) [build] #41 0x00007f62a14d668e clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d668e) [build] #42 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #43 0x00007f62a1939b77 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1939b77) [build] #44 0x00007f62a194bbe7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194bbe7) [build] #45 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #46 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #47 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #48 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #49 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #50 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #51 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #52 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #53 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #54 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #55 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #56 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #57 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #58 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #59 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #60 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #61 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #62 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #63 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #64 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #65 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #66 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #67 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #68 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #69 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #70 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #71 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #72 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #73 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #74 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #75 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #76 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #77 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #78 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #79 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #80 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #81 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #82 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #83 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #84 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #85 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #86 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #87 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #88 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #89 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #90 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #91 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #92 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #93 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #94 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #95 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #96 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #97 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #98 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #99 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #100 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #101 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #102 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #103 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #104 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #105 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #106 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #107 0x00007f62a1947df0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1947df0) [build] #108 0x00007f62a193f7e9 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193f7e9) [build] #109 0x00007f62a1933362 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1933362) [build] #110 0x00007f62a1334b97 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1334b97) [build] #111 0x00007f62a1333b69 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333b69) [build] #112 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #113 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #114 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #115 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #116 0x00007f62a1933362 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1933362) [build] #117 0x00007f62a1334b97 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1334b97) [build] #118 0x00007f62a1333b69 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333b69) [build] #119 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #120 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #121 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #122 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #123 0x00007f62a19434fa (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19434fa) [build] #124 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #125 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #126 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #127 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #128 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #129 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #130 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #131 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #132 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #133 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #134 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #135 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #136 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #137 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #138 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #139 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #140 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #141 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #142 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #143 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #144 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #145 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #146 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #147 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #148 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #149 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #150 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #151 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #152 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #153 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #154 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #155 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #156 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #157 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #158 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #159 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #160 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #161 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #162 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #163 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #164 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #165 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #166 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #167 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #168 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #169 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #170 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #171 0x00007f62a192b8dc clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192b8dc) [build] #172 0x00007f62a1961cbb clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1961cbb) [build] #173 0x00007f62a1962d61 clang::TemplateDeclInstantiator::VisitTypeAliasDecl(clang::TypeAliasDecl*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1962d61) [build] #174 0x00007f62a192f956 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192f956) [build] #175 0x00007f62a19317c3 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19317c3) [build] #176 0x00007f62a19dcfee (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19dcfee) [build] #177 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #178 0x00007f62a19cf46d clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cf46d) [build] #179 0x00007f62a19cec30 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cec30) [build] #180 0x00007f62a126e128 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x126e128) [build] #181 0x00007f62a183f974 clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x183f974) [build] #182 0x00007f62a194a41b (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194a41b) [build] #183 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #184 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #185 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #186 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #187 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #188 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #189 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #190 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #191 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #192 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #193 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #194 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #195 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #196 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #197 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #198 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #199 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #200 0x00007f62a192ccd9 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192ccd9) [build] #201 0x00007f62a196aa89 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89) [build] #202 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19679f6) [build] #203 0x00007f62a199b124 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x199b124) [build] #204 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #205 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3) [build] #206 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d184d) [build] #207 0x00007f62a1925a17 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1925a17) [build] #208 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #209 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d2f16) [build] #210 0x00007f62a17abde9 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17abde9) [build] #211 0x00007f62a17ac7d3 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17ac7d3) [build] #212 0x00007f62a17c37e7 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17c37e7) [build] #213 0x00007f62a14d668e clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d668e) [build] #214 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #215 0x00007f62a0a8034b clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa8034b) [build] #216 0x00007f62a0a81ad7 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa81ad7) [build] #217 0x00007f62a0a7d4c1 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa7d4c1) [build] #218 0x00007f62a0a7d399 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa7d399) [build] #219 0x00007f62a0addc55 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaddc55) [build] #220 0x00007f62a0adc154 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadc154) [build] #221 0x00007f62a0adbb08 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadbb08) [build] #222 0x00007f62a0ae3f60 clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae3f60) [build] #223 0x00007f62a0ae500f clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae500f) [build] #224 0x00007f62a0aff733 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaff733) [build] #225 0x00007f62a0a4c5c0 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa4c5c0) [build] #226 0x00007f62a0afe7d7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe7d7) [build] #227 0x00007f62a0afe1d1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe1d1) [build] #228 0x00007f62a0afd473 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafd473) [build] #229 0x00007f62a0afb919 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafb919) [build] #230 0x00007f62a0a378ce clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa378ce) [build] #231 0x00007f62a27570c5 clang::FrontendAction::Execute() (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x27570c5) [build] #232 0x00007f62a26d26c4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x26d26c4) [build] #233 0x00007f62a27d0e84 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x27d0e84) [build] #234 0x0000558b4d5ce856 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang++-17+0x12856) [build] #235 0x0000558b4d5cc3c5 (/usr/bin/clang++-17+0x103c5) [build] #236 0x00007f62a2394c59 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2394c59) [build] #237 0x00007f6299420b0c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20b0c) [build] #238 0x00007f62a239449e clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x239449e) [build] #239 0x00007f62a235d40d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d40d) [build] #240 0x00007f62a235d66e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d66e) [build] #241 0x00007f62a23791ed clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x23791ed) [build] #242 0x0000558b4d5cbd2d clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang++-17+0xfd2d) [build] #243 0x0000558b4d5d8562 main (/usr/bin/clang++-17+0x1c562) [build] #244 0x00007f6298029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 [build] #245 0x00007f6298029e40 call_init ./csu/../csu/libc-start.c:128:20 [build] #246 0x00007f6298029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 [build] #247 0x0000558b4d5c8df5 _start (/usr/bin/clang++-17+0xcdf5) [build] clang++-17: error: clang frontend command failed with exit code 139 (use -v to see invocation) [build] Ubuntu clang version 17.0.6 (++20231209124227+6009708b4367-1~exp1~20231209124336.77) [build] Target: x86_64-pc-linux-gnu [build] Thread model: posix [build] InstalledDir: /usr/bin [build] clang++-17: note: diagnostic msg: [build] ******************** [build] [build] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: [build] Preprocessed source(s) and associated run script(s) are located at: [build] clang++-17: note: diagnostic msg: /tmp/hello_world-57224b.cpp [build] clang++-17: note: diagnostic msg: /tmp/hello_world-57224b.sh [build] clang++-17: note: diagnostic msg: [build] [build] ******************** ``` </details>
tbaederr commented 8 months ago

The assertion we hit is the usual one about dependent expressions in the constexpr evaluator.

The expression in question is:

RequiresExpr 0x7fff64773878 '_Bool'
|-ParmVarDecl 0x7fff64773018  referenced __fun 'class (lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3511:14) &&'
|-ParmVarDecl 0x7fff647730a8  referenced __as 'struct stdexec::__let::__let_t<struct stdexec::__receivers::set_value_t> &&'
|-ParmVarDecl 0x7fff64773138  referenced __as 'class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41) &&'
|-ParmVarDecl 0x7fff647731c8  referenced __as 'struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)> &&'
`-SimpleRequirement 0x7fff64773840 dependent
  `-CXXOperatorCallExpr 0x7fff647737f0 'auto' '()'
    |-ImplicitCastExpr 0x7fff64773688 'auto (*)(__ignore, class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41) &&, struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)> &&) const' <FunctionToPointerDecay>
    | `-DeclRefExpr 0x7fff64773660 'auto (__ignore, class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41) &&, struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)> &&) const' lvalue CXXMethod 0x7fff64734a50 'operator()' 'auto (__ignore, class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41) &&, struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)> &&) const'
    |-ImplicitCastExpr 0x7fff647736a8 'const class (lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3511:14)' xvalue <NoOp>
    | `-ParenExpr 0x7fff64773308 'class (lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3511:14)' xvalue
    |   `-CStyleCastExpr 0x7fff647732d8 'class (lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3511:14)' xvalue <NoOp>
    |     `-DeclRefExpr 0x7fff64773250 'class (lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3511:14)' lvalue ParmVar 0x7fff64773018 '__fun' 'class (lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3511:14) &&' non_odr_use_unevaluated
    |-ImplicitCastExpr 0x7fff647737d0 '__ignore':'struct stdexec::__ignore' <ConstructorConversion>
    | `-CXXConstructExpr 0x7fff64773798 '__ignore':'struct stdexec::__ignore' 'void (struct stdexec::__let::__let_t<struct stdexec::__receivers::set_value_t> &&) noexcept'
    |   `-CStyleCastExpr 0x7fff64773390 'struct stdexec::__let::__let_t<struct stdexec::__receivers::set_value_t>' xvalue <NoOp>
    |     `-DeclRefExpr 0x7fff64773348 'struct stdexec::__let::__let_t<struct stdexec::__receivers::set_value_t>' lvalue ParmVar 0x7fff647730a8 '__as' 'struct stdexec::__let::__let_t<struct stdexec::__receivers::set_value_t> &&' non_odr_use_unevaluated
    |-CStyleCastExpr 0x7fff64773420 'class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41)' xvalue <NoOp>
    | `-DeclRefExpr 0x7fff647733d8 'class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41)' lvalue ParmVar 0x7fff64773138 '__as' 'class (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41) &&' non_odr_use_unevaluated
    `-CStyleCastExpr 0x7fff647734b0 'struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>' xvalue <NoOp>
      `-DeclRefExpr 0x7fff64773468 'struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>' lvalue ParmVar 0x7fff647731c8 '__as' 'struct stdexec::__sexpr<class (lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)> &&' non_odr_use_unevaluated
Endilll commented 7 months ago

Confirmed on post-18 trunk: https://godbolt.org/z/3b8fdajsq Reduced by me and C-Reduce:

template < class >
template < class _Tp >
using __copy_cvref_fn = _Tp;

struct __sexpr {
  template < class _Sender>
  auto apply(_Sender) -> __copy_cvref_fn < _Sender >;
};

struct __sexpr_apply_t {
  auto operator()() -> decltype(__sexpr{}.apply(0));
};

template < class _Fun >
concept __callable = requires (_Fun __fun) {
  __fun();
};

void transform_sender() {
  __callable< __sexpr_apply_t>;
}

Backtrace:

<source>:3:1: error: extraneous template parameter list in alias template declaration
    2 | template < class _Tp >
      | ~~~~~~~~~~~~~~~~~~~~~~
    3 | using __copy_cvref_fn = _Tp;
      | ^

clang++: /root/llvm-project/clang/lib/AST/ExprConstant.cpp:15674:
bool clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, const clang::ASTContext&, clang::Expr::ConstantExprKind) const:
Assertion `!isValueDependent() && "Expression evaluator can't be called on a dependent expression."' failed.

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 <source>
1.  <source>:20:31: current parser token ';'
2.  <source>:19:25: parsing function body 'transform_sender'
3.  <source>:19:25: in compound statement ('{}')
 #0 0x000000000388a128 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x388a128)
 #1 0x0000000003887e0c llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3887e0c)
 #2 0x00000000037d02e8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007f2bfee42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f2bfee969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007f2bfee42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007f2bfee287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007f2bfee2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007f2bfee39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x0000000007311f98 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x7311f98)
#10 0x000000000638adeb clang::ActionResult<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::'lambda'(clang::Expr const*)&&) SemaConcept.cpp:0:0
#11 0x000000000638b572 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) SemaConcept.cpp:0:0
#12 0x000000000638bbaa clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x638bbaa)
#13 0x0000000006ab38a1 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (.constprop.0) SemaTemplate.cpp:0:0
#14 0x0000000006ab5794 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ab5794)
#15 0x000000000666d5fc clang::Sema::ActOnIdExpression(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::UnqualifiedId&, bool, bool, clang::CorrectionCandidateCallback*, bool, clang::Token*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x666d5fc)
#16 0x0000000006158466 clang::Parser::tryParseCXXIdExpression(clang::CXXScopeSpec&, bool, clang::Token&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6158466)
#17 0x0000000006158784 clang::Parser::ParseCXXIdExpression(bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6158784)
#18 0x000000000613a931 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x613a931)
#19 0x000000000613d28a clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x613d28a)
#20 0x000000000613d429 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x613d429)
#21 0x0000000006142069 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6142069)
#22 0x00000000061bdb69 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x61bdb69)
#23 0x00000000061b43b7 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x61b43b7)
#24 0x00000000061b5257 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x61b5257)
#25 0x00000000061b6161 clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x61b6161)
#26 0x00000000061b7a7a clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x61b7a7a)
#27 0x00000000060d3b21 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x60d3b21)
#28 0x000000000610a85c clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x610a85c)
#29 0x00000000060c7c1e clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x60c7c1e)
#30 0x00000000060c83f1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x60c83f1)
#31 0x00000000060cf6b6 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x60cf6b6)
#32 0x00000000060d055d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x60d055d)
#33 0x00000000060c341a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x60c341a)
#34 0x0000000004118c48 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4118c48)
#35 0x0000000004389719 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4389719)
#36 0x00000000043081ee clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43081ee)
#37 0x000000000446940e clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x446940e)
#38 0x0000000000c126b6 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc126b6)
#39 0x0000000000c09eca ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#40 0x000000000415a1f9 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#41 0x00000000037d0794 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x37d0794)
#42 0x000000000415a7ef clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#43 0x00000000041224e5 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x41224e5)
#44 0x0000000004122f4d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4122f4d)
#45 0x000000000412ae85 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x412ae85)
#46 0x0000000000c0fa3c clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc0fa3c)
#47 0x0000000000b06be4 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xb06be4)
#48 0x00007f2bfee29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#49 0x00007f2bfee29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#50 0x0000000000c099ae _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc099ae)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134
llvmbot commented 7 months ago

@llvm/issue-subscribers-c-20

Author: Eric Niebler (ericniebler)

Files attached [hello_world-57224b.zip](https://github.com/llvm/llvm-project/files/13854662/hello_world-57224b.zip) <details> <summary>Click to view stack trace</summary> ``` [build] PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script. [build] Stack dump: [build] 0. Program arguments: /usr/bin/clang++-17 -DSTDEXEC_ENABLE_EXTRA_TYPE_CHECKING -I/home/eniebler/Code/stdexec/include -g -std=c++20 -Wall -ferror-limit=0 -fmacro-backtrace-limit=0 -ftemplate-backtrace-limit=0 -MD -MT examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o -MF examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o.d -o examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o -c /home/eniebler/Code/stdexec/examples/hello_world.cpp [build] 1. /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:57: current parser token ')' [build] 2. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: parsing function body 'main' [build] 3. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: in compound statement ('{}') [build] 4. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5386:12: instantiating class definition 'stdexec::__sync_wait::__value_tuple_for<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>>' [build] 5. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:730:19: instantiating function definition 'stdexec::__get_completion_signatures::get_completion_signatures_t::__impl<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, stdexec::__sync_wait::__env>' [build] #0 0x00007f62994cc406 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xccc406) [build] #1 0x00007f62994ca5b0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xcca5b0) [build] #2 0x00007f6299420d70 (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20d70) [build] #3 0x00007f6298042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) [build] #4 0x00007f62a0d6bd6c (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd6bd6c) [build] #5 0x00007f62a0d24062 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd24062) [build] #6 0x00007f62a0d20244 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd20244) [build] #7 0x00007f62a0d1fc69 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xd1fc69) [build] #8 0x00007f62a1333c13 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333c13) [build] #9 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #10 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #11 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #12 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #13 0x00007f62a19570a5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19570a5) [build] #14 0x00007f62a19532dd (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19532dd) [build] #15 0x00007f62a194a1f5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194a1f5) [build] #16 0x00007f62a19321e4 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19321e4) [build] #17 0x00007f62a197237b clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x197237b) [build] #18 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #19 0x00007f62a18d63c7 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d63c7) [build] #20 0x00007f62a14d16a1 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d16a1) [build] #21 0x00007f62a17bbf66 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17bbf66) [build] #22 0x00007f62a17bbe5e clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17bbe5e) [build] #23 0x00007f62a14d5f0b clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d5f0b) [build] #24 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #25 0x00007f62a1939b77 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1939b77) [build] #26 0x00007f62a19399f5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19399f5) [build] #27 0x00007f62a194bbe7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194bbe7) [build] #28 0x00007f62a192ccd9 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192ccd9) [build] #29 0x00007f62a196aa89 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89) [build] #30 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19679f6) [build] #31 0x00007f62a199b124 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x199b124) [build] #32 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #33 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3) [build] #34 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d184d) [build] #35 0x00007f62a1925a17 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1925a17) [build] #36 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #37 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d2f16) [build] #38 0x00007f62a17abde9 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17abde9) [build] #39 0x00007f62a17ac7d3 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17ac7d3) [build] #40 0x00007f62a17c37e7 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17c37e7) [build] #41 0x00007f62a14d668e clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d668e) [build] #42 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #43 0x00007f62a1939b77 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1939b77) [build] #44 0x00007f62a194bbe7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194bbe7) [build] #45 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #46 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #47 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #48 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #49 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #50 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #51 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #52 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #53 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #54 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #55 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #56 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #57 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #58 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #59 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #60 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #61 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #62 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #63 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #64 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #65 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #66 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #67 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #68 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #69 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #70 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #71 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #72 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #73 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #74 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #75 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #76 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #77 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #78 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #79 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #80 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #81 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #82 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #83 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #84 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #85 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #86 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #87 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #88 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #89 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #90 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #91 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #92 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #93 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #94 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #95 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #96 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #97 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #98 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #99 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #100 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #101 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #102 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #103 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #104 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #105 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #106 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #107 0x00007f62a1947df0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1947df0) [build] #108 0x00007f62a193f7e9 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193f7e9) [build] #109 0x00007f62a1933362 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1933362) [build] #110 0x00007f62a1334b97 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1334b97) [build] #111 0x00007f62a1333b69 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333b69) [build] #112 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #113 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #114 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #115 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #116 0x00007f62a1933362 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1933362) [build] #117 0x00007f62a1334b97 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1334b97) [build] #118 0x00007f62a1333b69 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1333b69) [build] #119 0x00007f62a132eb0f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132eb0f) [build] #120 0x00007f62a132e4bc clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc) [build] #121 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x182ebb4) [build] #122 0x00007f62a193a7b0 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x193a7b0) [build] #123 0x00007f62a19434fa (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19434fa) [build] #124 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #125 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #126 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #127 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #128 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #129 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #130 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #131 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #132 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #133 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #134 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #135 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #136 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #137 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #138 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #139 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #140 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #141 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #142 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #143 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #144 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #145 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #146 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #147 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #148 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #149 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #150 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #151 0x00007f62a194d016 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d016) [build] #152 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #153 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #154 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #155 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #156 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #157 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #158 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #159 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #160 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #161 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #162 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #163 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #164 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #165 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #166 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #167 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #168 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #169 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #170 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #171 0x00007f62a192b8dc clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192b8dc) [build] #172 0x00007f62a1961cbb clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1961cbb) [build] #173 0x00007f62a1962d61 clang::TemplateDeclInstantiator::VisitTypeAliasDecl(clang::TypeAliasDecl*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1962d61) [build] #174 0x00007f62a192f956 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192f956) [build] #175 0x00007f62a19317c3 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19317c3) [build] #176 0x00007f62a19dcfee (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19dcfee) [build] #177 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #178 0x00007f62a19cf46d clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cf46d) [build] #179 0x00007f62a19cec30 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cec30) [build] #180 0x00007f62a126e128 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x126e128) [build] #181 0x00007f62a183f974 clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x183f974) [build] #182 0x00007f62a194a41b (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194a41b) [build] #183 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #184 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #185 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #186 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #187 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #188 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #189 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #190 0x00007f62a192c5a7 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192c5a7) [build] #191 0x00007f62a1826549 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1826549) [build] #192 0x00007f62a194298f (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194298f) [build] #193 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #194 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #195 0x00007f62a192bc10 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192bc10) [build] #196 0x00007f62a1943467 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1943467) [build] #197 0x00007f62a19423e5 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19423e5) [build] #198 0x00007f62a194f6d7 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194f6d7) [build] #199 0x00007f62a194d634 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x194d634) [build] #200 0x00007f62a192ccd9 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x192ccd9) [build] #201 0x00007f62a196aa89 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89) [build] #202 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19679f6) [build] #203 0x00007f62a199b124 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x199b124) [build] #204 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #205 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3) [build] #206 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d184d) [build] #207 0x00007f62a1925a17 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x1925a17) [build] #208 0x00007f62a11f6aed clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed) [build] #209 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x18d2f16) [build] #210 0x00007f62a17abde9 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17abde9) [build] #211 0x00007f62a17ac7d3 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17ac7d3) [build] #212 0x00007f62a17c37e7 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x17c37e7) [build] #213 0x00007f62a14d668e clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14d668e) [build] #214 0x00007f62a14ee5bd clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd) [build] #215 0x00007f62a0a8034b clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa8034b) [build] #216 0x00007f62a0a81ad7 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa81ad7) [build] #217 0x00007f62a0a7d4c1 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa7d4c1) [build] #218 0x00007f62a0a7d399 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa7d399) [build] #219 0x00007f62a0addc55 clang::Parser::ParseExprStatement(clang::Parser::ParsedStmtContext) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaddc55) [build] #220 0x00007f62a0adc154 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadc154) [build] #221 0x00007f62a0adbb08 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadbb08) [build] #222 0x00007f62a0ae3f60 clang::Parser::ParseCompoundStatementBody(bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae3f60) [build] #223 0x00007f62a0ae500f clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae500f) [build] #224 0x00007f62a0aff733 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaff733) [build] #225 0x00007f62a0a4c5c0 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa4c5c0) [build] #226 0x00007f62a0afe7d7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe7d7) [build] #227 0x00007f62a0afe1d1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe1d1) [build] #228 0x00007f62a0afd473 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafd473) [build] #229 0x00007f62a0afb919 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafb919) [build] #230 0x00007f62a0a378ce clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa378ce) [build] #231 0x00007f62a27570c5 clang::FrontendAction::Execute() (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x27570c5) [build] #232 0x00007f62a26d26c4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x26d26c4) [build] #233 0x00007f62a27d0e84 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x27d0e84) [build] #234 0x0000558b4d5ce856 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang++-17+0x12856) [build] #235 0x0000558b4d5cc3c5 (/usr/bin/clang++-17+0x103c5) [build] #236 0x00007f62a2394c59 (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x2394c59) [build] #237 0x00007f6299420b0c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20b0c) [build] #238 0x00007f62a239449e clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x239449e) [build] #239 0x00007f62a235d40d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d40d) [build] #240 0x00007f62a235d66e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d66e) [build] #241 0x00007f62a23791ed clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x23791ed) [build] #242 0x0000558b4d5cbd2d clang_main(int, char**, llvm::ToolContext const&) (/usr/bin/clang++-17+0xfd2d) [build] #243 0x0000558b4d5d8562 main (/usr/bin/clang++-17+0x1c562) [build] #244 0x00007f6298029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 [build] #245 0x00007f6298029e40 call_init ./csu/../csu/libc-start.c:128:20 [build] #246 0x00007f6298029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 [build] #247 0x0000558b4d5c8df5 _start (/usr/bin/clang++-17+0xcdf5) [build] clang++-17: error: clang frontend command failed with exit code 139 (use -v to see invocation) [build] Ubuntu clang version 17.0.6 (++20231209124227+6009708b4367-1~exp1~20231209124336.77) [build] Target: x86_64-pc-linux-gnu [build] Thread model: posix [build] InstalledDir: /usr/bin [build] clang++-17: note: diagnostic msg: [build] ******************** [build] [build] PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT: [build] Preprocessed source(s) and associated run script(s) are located at: [build] clang++-17: note: diagnostic msg: /tmp/hello_world-57224b.cpp [build] clang++-17: note: diagnostic msg: /tmp/hello_world-57224b.sh [build] clang++-17: note: diagnostic msg: [build] [build] ******************** ``` </details>
shafik commented 7 months ago

Looks related to: https://github.com/llvm/llvm-project/issues/67058

Although, the code is not totally similar and that one is a crash on valid.

zyn0217 commented 7 months ago
template < class >
template < class _Tp >
using __copy_cvref_fn = _Tp;

struct __sexpr {
  template < class _Sender>
  auto apply(_Sender) -> __copy_cvref_fn < _Sender >;
};

We ended up substituting into type alias __copy_cvref_fn with [_Sender = int] in Sema::CheckTemplateIdType. The issue arose due to an extra template parameter list on the alias Decl. This resulted in the template parameter _Tp living at depth 1, causing another off-by-one issue as we only had one template argument living at depth 0.

https://github.com/llvm/llvm-project/blob/60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e/clang/lib/Sema/SemaTemplate.cpp#L4019-L4021

We can avoid the bogus substitution and the subsequent constraint check if the type alias Decl, as well as its underlying Decl, were set to invalid.

https://github.com/llvm/llvm-project/blob/60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e/clang/lib/Sema/SemaTemplate.cpp#L4002-L4005

And we're not doing that currently.

https://github.com/llvm/llvm-project/blob/60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e/clang/lib/Sema/SemaDeclCXX.cpp#L13573-L13582

https://github.com/llvm/llvm-project/blob/60a904b2ad9842b93cc5fa0ad5bda5e22c550b7e/clang/lib/Sema/SemaDeclCXX.cpp#L13645-L13650

We would have these diagnostics then:

/tmp/issue-77250.cpp:3:39: error: extraneous template parameter list in alias template declaration
    3 | template <class> template <class _Tp> using __copy_cvref_fn = _Tp;
      |                  ~~~~~~~~~~~~~~~~~~~~ ^
/tmp/issue-77250.cpp:10:43: error: no matching member function for call to 'apply'
   10 |   auto operator()() -> decltype(__sexpr{}.apply(0));
      |                                 ~~~~~~~~~~^~~~~
/tmp/issue-77250.cpp:16:27: warning: expression result unused [-Wunused-value]
   16 | void transform_sender() { __callable<__sexpr_apply_t>; }
      |                           ^~~~~~~~~~~~~~~~~~~~~~~~~~~
1 warning and 2 errors generated.

Unfortunately, this still doesn't fix the crash from the report. The crashing parsing stack is as follows, with a different stacktrace from @Endilll's reduced example -- I suspect there are two (or more) issues here!

stacktrace

```txt 1. /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:57: current parser token ')' 2. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: parsing function body 'main' 3. /home/eniebler/Code/stdexec/examples/hello_world.cpp:26:12: in compound statement ('{}') 4. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5386:12: instantiating class definition 'stdexec::__sync_wait::__value_tuple_for>' 5. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:730:19: instantiating function definition 'stdexec::__get_completion_signatures::get_completion_signatures_t::__impl, stdexec::__sync_wait::__env>' 6. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:624:9: instantiating function definition 'stdexec::__domain::__transform_dependent_sender::operator(), stdexec::__sync_wait::__env>' 7. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:650:36: instantiating function definition 'stdexec::dependent_domain::transform_sender, stdexec::__sync_wait::__env>' 8. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:657:7: instantiating function definition 'stdexec::dependent_domain::transform_sender(stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)> &&, const stdexec::__sync_wait::__env &)::(anonymous class)::operator(), (lambda at /home/eniebler/Code/stdexec/examples/hello_world.cpp:28:41), stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>>' 9. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:603:9: instantiating function definition 'stdexec::__domain::__transform_sender::operator(), stdexec::__sync_wait::__env>' 10. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:587:9: instantiating function definition 'stdexec::__domain::__transform_sender_1::operator(), stdexec::__sync_wait::__env>' 11. /home/eniebler/Code/stdexec/include/stdexec/__detail/__domain.hpp:100:20: instantiating function definition 'stdexec::default_domain::transform_sender, stdexec::__sync_wait::__env>' 12. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3581:29: instantiating function definition 'stdexec::__let::__let_t::transform_sender, stdexec::__sync_wait::__env>' ``` ```txt clang: /repo/llvm-project/clang/lib/AST/ExprConstant.cpp:15739: bool clang::Expr::EvaluateAsConstantExpr(EvalResult &, const ASTContext &, ConstantExprKind) const: Assertion `!isValueDependent() && "Expression evaluator can't be called on a dependent expression."' failed. #9 0x00007f72217a4d51 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const /repo/llvm-project/clang/lib/AST/ExprConstant.cpp:0:3 #10 0x00007f721fc0f413 clang::ActionResult calculateConstraintSatisfaction(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:289:71 #11 0x00007f721fc0eedc calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:339:10 #12 0x00007f721fc08516 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:454:22 #13 0x00007f721fc08213 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:509:7 #14 0x00007f721fc757f4 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/include/clang/Sema/Sema.h:7678:12 #15 0x00007f7220932e9b clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) /repo/llvm-project/clang/lib/Sema/SemaTemplate.cpp:5030:7 #16 0x00007f7220c50714 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildConceptSpecializationExpr(clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::DeclarationNameInfo, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:3630:35 #17 0x00007f7220c32eb5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformConceptSpecializationExpr(clang::ConceptSpecializationExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:13149:23 #18 0x00007f7220c22092 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:494:1 #19 0x00007f7220c21281 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4250:23 #20 0x00007f7220c22d25 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4258:10 #21 0x00007f721fc1022a calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0::operator()(clang::Expr const*) const /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:369:17 #22 0x00007f721fc0f180 clang::ActionResult calculateConstraintSatisfaction(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:250:38 #23 0x00007f721fc0eedc calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:339:10 #24 0x00007f721fc08516 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:454:22 #25 0x00007f721fc08213 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:509:7 #26 0x00007f721fc0ab22 clang::Sema::CheckInstantiatedFunctionTemplateConstraints(clang::SourceLocation, clang::FunctionDecl*, llvm::ArrayRef, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:953:3 #27 0x00007f7220b0697f clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3793:9 #28 0x00007f7220c02899 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>)::$_2::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4474:14 #29 0x00007f7220c027b5 void llvm::function_ref::callback_fn, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>)::$_2>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #30 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #31 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #32 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #33 0x00007f7220b08e5b clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4481:10 #34 0x00007f72207ecef6 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:7630:31 #35 0x00007f72207edaa8 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:7424:3 #36 0x00007f722080cd16 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:15658:25 #37 0x00007f7220078239 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7254:14 #38 0x00007f7220098bef clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7172:7 #39 0x00007f7220c51312 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:2813:22 #40 0x00007f7220c33c2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:11634:23 #41 0x00007f7220c22340 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:602:1 #42 0x00007f7220c57c94 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6503:31 #43 0x00007f7220c1864e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:36:1 #44 0x00007f7220c17d0f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4939:34 #45 0x00007f7220c19791 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::QualType) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4918:19 #46 0x00007f7220c196d5 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2784:23 #47 0x00007f722092adb7 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /repo/llvm-project/clang/lib/Sema/SemaTemplate.cpp:4024:9 #48 0x00007f7220c53b0c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildTemplateSpecializationType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:15500:18 #49 0x00007f7220c528d1 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7059:18 #50 0x00007f7220c5dbaa clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6807:23 #51 0x00007f7220c1922e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:73:1 #52 0x00007f7220c59acf clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7166:34 #53 0x00007f7220c189a5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:46:1 #54 0x00007f7220c63f7e clang::QualType clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc, clang::CXXRecordDecl*, clang::Qualifiers, clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6179:33 #55 0x00007f7220c19d1a clang::QualType (anonymous namespace)::TemplateInstantiator::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc, clang::CXXRecordDecl*, clang::Qualifiers, clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2303:21 #56 0x00007f7220c199d5 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2844:27 #57 0x00007f7220ca8340 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4462:19 #58 0x00007f7220ca430b clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2507:19 #59 0x00007f7220ca96c3 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3791:3 #60 0x00007f7220afda51 clang::declvisitor::Base::Visit(clang::Decl*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/DeclNodes.inc:242:1 #61 0x00007f7220d19394 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4066:27 #62 0x00007f7220d19365 void llvm::function_ref::callback_fn(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #63 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #64 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #65 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #66 0x00007f7220caf997 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4068:10 #67 0x00007f7220b067bf clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3760:7 #68 0x00007f7220c02899 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>)::$_2::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4474:14 #69 0x00007f7220c027b5 void llvm::function_ref::callback_fn, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>)::$_2>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #70 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #71 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #72 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #73 0x00007f7220b08e5b clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4481:10 #74 0x00007f72207ecef6 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:7630:31 #75 0x00007f722080af2e clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:0:9 #76 0x00007f7220078672 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7284:14 #77 0x00007f7220098bef clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7172:7 #78 0x00007f7220c51312 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:2813:22 #79 0x00007f7220c33c2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:11634:23 #80 0x00007f7220c22340 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:602:1 #81 0x00007f7220c57c94 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6503:31 #82 0x00007f7220c1864e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:36:1 #83 0x00007f7220c63f7e clang::QualType clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc, clang::CXXRecordDecl*, clang::Qualifiers, clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6179:33 #84 0x00007f7220c19d1a clang::QualType (anonymous namespace)::TemplateInstantiator::TransformFunctionProtoType(clang::TypeLocBuilder&, clang::FunctionProtoTypeLoc, clang::CXXRecordDecl*, clang::Qualifiers, clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2303:21 #85 0x00007f7220c199d5 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2844:27 #86 0x00007f7220ca8340 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4462:19 #87 0x00007f7220ca430b clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:2507:19 #88 0x00007f7220ca96c3 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:3791:3 #89 0x00007f7220afda51 clang::declvisitor::Base::Visit(clang::Decl*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/DeclNodes.inc:242:1 #90 0x00007f7220d19394 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4066:27 #91 0x00007f7220d19365 void llvm::function_ref::callback_fn(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #92 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #93 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #94 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #95 0x00007f7220caf997 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4068:10 #96 0x00007f7220b067bf clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl const*, bool, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3760:7 #97 0x00007f7220c02899 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>)::$_2::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4474:14 #98 0x00007f7220c027b5 void llvm::function_ref::callback_fn, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>)::$_2>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #99 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #100 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #101 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #102 0x00007f7220b08e5b clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref)>) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4481:10 #103 0x00007f72207ecef6 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:7630:31 #104 0x00007f72207edaa8 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:7424:3 #105 0x00007f722080cd16 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:15658:25 #106 0x00007f7220078239 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7254:14 #107 0x00007f7220098bef clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7172:7 #108 0x00007f7220c51312 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:2813:22 #109 0x00007f7220c33c2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:11634:23 #110 0x00007f7220c22340 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:602:1 #111 0x00007f7220c22f9e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4147:25 #112 0x00007f7220c65798 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:8092:36 #113 0x00007f7220c1f4a2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:920:1 #114 0x00007f7220c3be26 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7681:38 #115 0x00007f7220c6ba47 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7663:23 #116 0x00007f7220c2066f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1526:1 #117 0x00007f7220c1f223 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4230:23 #118 0x00007f7220cb1ad1 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:5191:14 #119 0x00007f7220c02c54 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5299:5 #120 0x00007f7220c02c15 void llvm::function_ref::callback_fn(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #121 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #122 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #123 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #124 0x00007f7220b0eac7 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5302:25 #125 0x00007f7220071949 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:307:9 #126 0x00007f721ff9f335 clang::Sema::DiagnoseUseOfOverloadedDecl(clang::NamedDecl*, clang::SourceLocation) /repo/llvm-project/clang/include/clang/Sema/Sema.h:5599:5 #127 0x00007f722080b0f6 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:15471:11 #128 0x00007f7220078672 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7284:14 #129 0x00007f7220098bef clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7172:7 #130 0x00007f7220c51312 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:2813:22 #131 0x00007f7220c33c2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:11634:23 #132 0x00007f7220c22340 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:602:1 #133 0x00007f7220c40537 (anonymous namespace)::TemplateInstantiator::TransformExprRequirement(clang::concepts::ExprRequirement*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2577:31 #134 0x00007f7220c3ea34 (anonymous namespace)::TemplateInstantiator::TransformRequiresExprRequirements(llvm::ArrayRef, llvm::SmallVectorImpl&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:1652:22 #135 0x00007f7220c3e36e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformRequiresExpr(clang::RequiresExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:13190:7 #136 0x00007f7220c2b812 (anonymous namespace)::TemplateInstantiator::TransformRequiresExpr(clang::RequiresExpr*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:1624:40 #137 0x00007f7220c21578 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:122:1 #138 0x00007f7220c21281 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4250:23 #139 0x00007f7220c22d25 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4258:10 #140 0x00007f721fc1022a calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0::operator()(clang::Expr const*) const /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:369:17 #141 0x00007f721fc0f180 clang::ActionResult calculateConstraintSatisfaction(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:250:38 #142 0x00007f721fc0eedc calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:339:10 #143 0x00007f721fc08516 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:454:22 #144 0x00007f721fc08213 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:509:7 #145 0x00007f721fc757f4 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/include/clang/Sema/Sema.h:7678:12 #146 0x00007f7220932e9b clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) /repo/llvm-project/clang/lib/Sema/SemaTemplate.cpp:5030:7 #147 0x00007f7220c50714 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildConceptSpecializationExpr(clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::DeclarationNameInfo, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:3630:35 #148 0x00007f7220c32eb5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformConceptSpecializationExpr(clang::ConceptSpecializationExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:13149:23 #149 0x00007f7220c22092 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:494:1 #150 0x00007f7220c21281 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4250:23 #151 0x00007f7220c22d25 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4258:10 #152 0x00007f721fc1022a calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0::operator()(clang::Expr const*) const /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:369:17 #153 0x00007f721fc0f180 clang::ActionResult calculateConstraintSatisfaction(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:250:38 #154 0x00007f721fc0f036 clang::ActionResult calculateConstraintSatisfaction(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:217:25 #155 0x00007f721fc0eedc calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:339:10 #156 0x00007f721fc08516 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:454:22 #157 0x00007f721fc08213 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:509:7 #158 0x00007f721fc757f4 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/include/clang/Sema/Sema.h:7678:12 #159 0x00007f7220932e9b clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) /repo/llvm-project/clang/lib/Sema/SemaTemplate.cpp:5030:7 #160 0x00007f7220c50714 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildConceptSpecializationExpr(clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::DeclarationNameInfo, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:3630:35 #161 0x00007f7220c32eb5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformConceptSpecializationExpr(clang::ConceptSpecializationExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:13149:23 #162 0x00007f7220c22092 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:494:1 #163 0x00007f7220c6d8e2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCondition(clang::SourceLocation, clang::VarDecl*, clang::Expr*, clang::Sema::ConditionKind) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4329:40 #164 0x00007f7220c69f03 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7866:10 #165 0x00007f7220c204e7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1478:1 #166 0x00007f7220c3be26 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7681:38 #167 0x00007f7220c6ba47 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7663:23 #168 0x00007f7220c2066f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1526:1 #169 0x00007f7220c1f223 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4230:23 #170 0x00007f7220cb1ad1 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:5191:14 #171 0x00007f7220c02c54 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5299:5 #172 0x00007f7220c02c15 void llvm::function_ref::callback_fn(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #173 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #174 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #175 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #176 0x00007f7220b0eac7 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5302:25 #177 0x00007f7220071949 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:307:9 #178 0x00007f721ff9f335 clang::Sema::DiagnoseUseOfOverloadedDecl(clang::NamedDecl*, clang::SourceLocation) /repo/llvm-project/clang/include/clang/Sema/Sema.h:5599:5 #179 0x00007f722080b0f6 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:15471:11 #180 0x00007f72200783b1 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7264:14 #181 0x00007f7220098bef clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7172:7 #182 0x00007f7220c51312 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:2813:22 #183 0x00007f7220c33c2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:11634:23 #184 0x00007f7220c22340 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:602:1 #185 0x00007f7220c40537 (anonymous namespace)::TemplateInstantiator::TransformExprRequirement(clang::concepts::ExprRequirement*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2577:31 #186 0x00007f7220c3ea34 (anonymous namespace)::TemplateInstantiator::TransformRequiresExprRequirements(llvm::ArrayRef, llvm::SmallVectorImpl&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:1652:22 #187 0x00007f7220c3e36e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformRequiresExpr(clang::RequiresExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:13190:7 #188 0x00007f7220c2b812 (anonymous namespace)::TemplateInstantiator::TransformRequiresExpr(clang::RequiresExpr*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:1624:40 #189 0x00007f7220c21578 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:122:1 #190 0x00007f7220c21281 clang::Sema::SubstExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4250:23 #191 0x00007f7220c22d25 clang::Sema::SubstConstraintExpr(clang::Expr*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4258:10 #192 0x00007f721fc1022a calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0::operator()(clang::Expr const*) const /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:369:17 #193 0x00007f721fc0f180 clang::ActionResult calculateConstraintSatisfaction(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0&&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:250:38 #194 0x00007f721fc0eedc calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:339:10 #195 0x00007f721fc08516 CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:454:22 #196 0x00007f721fc08213 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, llvm::SmallVectorImpl&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:509:7 #197 0x00007f721fc757f4 clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/include/clang/Sema/Sema.h:7678:12 #198 0x00007f7220932e9b clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&, clang::SourceLocation, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo const*) /repo/llvm-project/clang/lib/Sema/SemaTemplate.cpp:5030:7 #199 0x00007f7220c50714 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildConceptSpecializationExpr(clang::NestedNameSpecifierLoc, clang::SourceLocation, clang::DeclarationNameInfo, clang::NamedDecl*, clang::ConceptDecl*, clang::TemplateArgumentListInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:3630:35 #200 0x00007f7220c32eb5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformConceptSpecializationExpr(clang::ConceptSpecializationExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:13149:23 #201 0x00007f7220c22092 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:494:1 #202 0x00007f7220c6d8e2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCondition(clang::SourceLocation, clang::VarDecl*, clang::Expr*, clang::Sema::ConditionKind) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4329:40 #203 0x00007f7220c69f03 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7866:10 #204 0x00007f7220c204e7 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1478:1 #205 0x00007f7220c3be26 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7681:38 #206 0x00007f7220c6ba47 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7663:23 #207 0x00007f7220c2066f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1526:1 #208 0x00007f7220c1f223 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4230:23 #209 0x00007f7220cb1ad1 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:5191:14 #210 0x00007f7220c02c54 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5299:5 #211 0x00007f7220c02c15 void llvm::function_ref::callback_fn(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #212 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #213 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #214 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #215 0x00007f7220b0eac7 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5302:25 #216 0x00007f7220071949 clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:307:9 #217 0x00007f7220803c50 CreateFunctionRefExpr(clang::Sema&, clang::FunctionDecl*, clang::NamedDecl*, clang::Expr const*, bool, clang::SourceLocation, clang::DeclarationNameLoc const&) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:72:7 #218 0x00007f722080dc21 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation) /repo/llvm-project/clang/lib/Sema/SemaOverload.cpp:15824:22 #219 0x00007f7220078239 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7254:14 #220 0x00007f7220098bef clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/SemaExpr.cpp:7172:7 #221 0x00007f7220c51312 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildCallExpr(clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef, clang::SourceLocation, clang::Expr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:2813:22 #222 0x00007f7220c33c2f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:11634:23 #223 0x00007f7220c22340 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:602:1 #224 0x00007f7220c57c94 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6503:31 #225 0x00007f7220c1864e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:36:1 #226 0x00007f7220c17d0f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4939:34 #227 0x00007f7220c19791 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::QualType) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4918:19 #228 0x00007f7220c196d5 clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2784:23 #229 0x00007f722092adb7 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /repo/llvm-project/clang/lib/Sema/SemaTemplate.cpp:4024:9 #230 0x00007f7220c53b0c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildTemplateSpecializationType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:15500:18 #231 0x00007f7220c528d1 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7059:18 #232 0x00007f7220c5dbaa clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:6807:23 #233 0x00007f7220c1922e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:73:1 #234 0x00007f7220c59acf clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7166:34 #235 0x00007f7220c189a5 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/TypeNodes.inc:46:1 #236 0x00007f7220c17d0f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:4939:34 #237 0x00007f7220c177d9 clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:2737:41 #238 0x00007f7220c9c312 clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:986:8 #239 0x00007f7220c9ded6 clang::TemplateDeclInstantiator::VisitTypeAliasDecl(clang::TypeAliasDecl*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:1068:9 #240 0x00007f7220afdce5 clang::declvisitor::Base::Visit(clang::Decl*) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/DeclNodes.inc:466:1 #241 0x00007f7220d19394 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4066:27 #242 0x00007f7220d19365 void llvm::function_ref::callback_fn(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5 #243 0x00007f7219b74be9 llvm::function_ref::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5 #244 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref, llvm::function_ref) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3 #245 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1 #246 0x00007f7220caf997 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:4068:10 #247 0x00007f7220c6da94 (anonymous namespace)::TemplateInstantiator::TransformDefinition(clang::SourceLocation, clang::Decl*) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:1762:9 #248 0x00007f7220c6ac8f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclStmt(clang::DeclStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:8108:11 #249 0x00007f7220c205ab clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1502:1 #250 0x00007f7220c3be26 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7681:38 #251 0x00007f7220c6ba47 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*) /repo/llvm-project/clang/lib/Sema/TreeTransform.h:7663:23 #252 0x00007f7220c2066f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) /repo/llvm-project-Build/BuildDebug/tools/clang/include/clang/AST/StmtNodes.inc:1526:1 #253 0x00007f7220c1f223 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:4230:23 #254 0x00007f7220cb1ad1 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) /repo/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp:5191:14 #255 0x00007f7220c02c54 clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:5299:5 ```

Endilll commented 1 month ago

Reduced by me and C-Reduce (https://godbolt.org/z/sx3znYhP9):

template < class >
concept _Ok = true;

template < bool >
struct __i {};

void __for_all_sigs_();

template < class _Variant >
using __for_all_sigs = __i< _Ok< decltype(__for_all_sigs_((_Variant *)0)) > >;

auto transform_sender_fn() -> __for_all_sigs<int>;

template < int >
requires requires { transform_sender_fn(); }
auto tuple() -> decltype(transform_sender_fn());

using T = decltype(tuple<0>());

Clang 20.0 crash:

<source>:10:43: error: no matching function for call to '__for_all_sigs_'
   10 | using __for_all_sigs = __i< _Ok< decltype(__for_all_sigs_((_Variant *)0)) > >;
      |                                           ^~~~~~~~~~~~~~~
<source>:12:31: note: in instantiation of template type alias '__for_all_sigs' requested here
   12 | auto transform_sender_fn() -> __for_all_sigs<int>;
      |                               ^
<source>:7:6: note: candidate function not viable: requires 0 arguments, but 1 was provided
    7 | void __for_all_sigs_();
      |      ^

clang++: /root/llvm-project/clang/lib/AST/ExprConstant.cpp:16193:
bool clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, const clang::ASTContext&, clang::Expr::ConstantExprKind) const: 
Assertion `!isValueDependent() && "Expression evaluator can't be called on a dependent expression."' failed.

PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -std=c++2a <source>
1.  <source>:18:29: current parser token ')'
 #0 0x0000000003abe608 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3abe608)
 #1 0x0000000003abc2fc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3abc2fc)
 #2 0x0000000003a052f8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007968bf642520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007968bf6969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007968bf642476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007968bf6287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007968bf62871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007968bf639e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00000000078dcfa8 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78dcfa8)
#10 0x00000000067ba7fe clang::ActionResult<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::ConstraintEvaluator>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::ConstraintEvaluator const&) SemaConcept.cpp:0:0
#11 0x00000000067bbe7e CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) SemaConcept.cpp:0:0
#12 0x00000000067bc4dd clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67bc4dd)
#13 0x00000000067bd52b clang::Sema::CheckInstantiatedFunctionTemplateConstraints(clang::SourceLocation, clang::FunctionDecl*, llvm::ArrayRef<clang::TemplateArgument>, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67bd52b)
#14 0x00000000070a6702 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (.constprop.0) SemaTemplateDeduction.cpp:0:0
#15 0x00000000070a710a void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#16 0x0000000006640431 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6640431)
#17 0x00000000070b2212 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x70b2212)
#18 0x0000000006ec4298 clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) (.constprop.1) SemaOverload.cpp:0:0
#19 0x0000000006ec4a9b AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) SemaOverload.cpp:0:0
#20 0x0000000006ec4d89 clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ec4d89)
#21 0x0000000006ec508e clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ec508e)
#22 0x0000000006ed17b5 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ed17b5)
#23 0x0000000006ac4788 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ac4788)
#24 0x0000000006ac6cec clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ac6cec)
#25 0x000000000654ecfd clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x654ecfd)
#26 0x0000000006547a81 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6547a81)
#27 0x0000000006547cee clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6547cee)
#28 0x0000000006549bda clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6549bda)
#29 0x0000000006549d79 clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6549d79)
#30 0x000000000654e2b9 clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x654e2b9)
#31 0x000000000652ac5b clang::Parser::ParseDecltypeSpecifier(clang::DeclSpec&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x652ac5b)
#32 0x00000000065616cb clang::Parser::ParseOptionalCXXScopeSpecifier(clang::CXXScopeSpec&, clang::OpaquePtr<clang::QualType>, bool, bool, bool*, bool, clang::IdentifierInfo const**, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x65616cb)
#33 0x00000000064d12ea clang::Parser::TryAnnotateCXXScopeToken(bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64d12ea)
#34 0x0000000006516de6 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6516de6)
#35 0x0000000006518212 clang::Parser::ParseSpecifierQualifierList(clang::DeclSpec&, clang::ImplicitTypenameContext, clang::AccessSpecifier, clang::Parser::DeclSpecContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6518212)
#36 0x000000000651f1f0 clang::Parser::ParseTypeName(clang::SourceRange*, clang::DeclaratorContext, clang::AccessSpecifier, clang::Decl**, clang::ParsedAttributes*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x651f1f0)
#37 0x000000000652cb59 clang::Parser::ParseAliasDeclarationAfterDeclarator(clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::Parser::UsingDeclarator&, clang::SourceLocation&, clang::AccessSpecifier, clang::ParsedAttributes&, clang::Decl**) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x652cb59)
#38 0x000000000653664e clang::Parser::ParseUsingDeclaration(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x653664e)
#39 0x00000000065373a5 clang::Parser::ParseUsingDirectiveOrDeclaration(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x65373a5)
#40 0x000000000651bbdf clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x651bbdf)
#41 0x00000000064d89e1 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64d89e1)
#42 0x00000000064d986d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64d986d)
#43 0x00000000064ccd3a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64ccd3a)
#44 0x00000000043d11d8 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43d11d8)
#45 0x000000000465d109 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x465d109)
#46 0x00000000045e170e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x45e170e)
#47 0x00000000047465de clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x47465de)
#48 0x0000000000c9299f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc9299f)
#49 0x0000000000c8bb2a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#50 0x0000000004414819 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#51 0x0000000003a057a4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3a057a4)
#52 0x0000000004414e0f clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#53 0x00000000043da9d5 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43da9d5)
#54 0x00000000043db43d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43db43d)
#55 0x00000000043e3055 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43e3055)
#56 0x0000000000c8fcd5 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc8fcd5)
#57 0x0000000000b63ba4 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xb63ba4)
#58 0x00007968bf629d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#59 0x00007968bf629e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#60 0x0000000000c8b5de _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc8b5de)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134
Endilll commented 1 month ago

Another reduction that triggers the same assertion (https://godbolt.org/z/W31qe9jYa):

struct __sexpr_uncurry_fn {
  void operator()();
};

auto __make_tuple = []< class _Cvref, class _Fun >(_Cvref, _Fun) -> void
                      requires requires { _Fun{}(); } {};

template < class _As >
using __call_result_t = decltype(__make_tuple(0, _As{}));

using T = __call_result_t< __sexpr_uncurry_fn >;

Clang 20.0 crash is slightly different from the previous reduction:

clang++: /root/llvm-project/clang/lib/AST/ExprConstant.cpp:16193: bool clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, const clang::ASTContext&, clang::Expr::ConstantExprKind) const: Assertion `!isValueDependent() && "Expression evaluator can't be called on a dependent expression."' failed.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace, preprocessed source, and associated run script.
Stack dump:
0.  Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -fno-verbose-asm -S --gcc-toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 <source>
1.  <source>:11:11: at annotation token
 #0 0x0000000003abe608 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3abe608)
 #1 0x0000000003abc2fc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3abc2fc)
 #2 0x0000000003a052f8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x000074f668e42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x000074f668e969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x000074f668e42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x000074f668e287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x000074f668e2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x000074f668e39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00000000078dcfa8 clang::Expr::EvaluateAsConstantExpr(clang::Expr::EvalResult&, clang::ASTContext const&, clang::Expr::ConstantExprKind) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x78dcfa8)
#10 0x00000000067ba7fe clang::ActionResult<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::ConstraintEvaluator>(clang::Sema&, clang::Expr const*, clang::ConstraintSatisfaction&, calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::ConstraintEvaluator const&) SemaConcept.cpp:0:0
#11 0x00000000067bbe7e CheckConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) SemaConcept.cpp:0:0
#12 0x00000000067bc4dd clang::Sema::CheckConstraintSatisfaction(clang::NamedDecl const*, llvm::ArrayRef<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, clang::MultiLevelTemplateArgumentList const&, clang::SourceRange, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67bc4dd)
#13 0x00000000067bd52b clang::Sema::CheckInstantiatedFunctionTemplateConstraints(clang::SourceLocation, clang::FunctionDecl*, llvm::ArrayRef<clang::TemplateArgument>, clang::ConstraintSatisfaction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x67bd52b)
#14 0x00000000070a6702 clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) (.constprop.0) SemaTemplateDeduction.cpp:0:0
#15 0x00000000070a710a void llvm::function_ref<void ()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#16 0x0000000006640431 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6640431)
#17 0x00000000070b2212 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x70b2212)
#18 0x0000000006ec639d clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (.constprop.0) SemaOverload.cpp:0:0
#19 0x0000000006ec6d21 clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ec6d21)
#20 0x0000000006ed72e2 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ed72e2)
#21 0x0000000006ac4ccd clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ac4ccd)
#22 0x0000000006ac6cec clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6ac6cec)
#23 0x0000000007169920 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) SemaTemplateInstantiate.cpp:0:0
#24 0x000000000715d445 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#25 0x000000000716e047 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#26 0x00000000071749fa clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
#27 0x0000000007174b1c clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::QualType) SemaTemplateInstantiate.cpp:0:0
#28 0x00000000071767db clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x71767db)
#29 0x0000000006fad6e6 clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6fad6e6)
#30 0x0000000006fafaa7 clang::Sema::ActOnTemplateIdType(clang::Scope*, clang::CXXScopeSpec&, clang::SourceLocation, clang::OpaquePtr<clang::TemplateName>, clang::IdentifierInfo const*, clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::ParsedTemplateArgument>, clang::SourceLocation, bool, bool, clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6fafaa7)
#31 0x00000000065d9e4b clang::Parser::AnnotateTemplateIdTokenAsType(clang::CXXScopeSpec&, clang::ImplicitTypenameContext, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x65d9e4b)
#32 0x0000000006515492 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6515492)
#33 0x0000000006518212 clang::Parser::ParseSpecifierQualifierList(clang::DeclSpec&, clang::ImplicitTypenameContext, clang::AccessSpecifier, clang::Parser::DeclSpecContext) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6518212)
#34 0x000000000651f1f0 clang::Parser::ParseTypeName(clang::SourceRange*, clang::DeclaratorContext, clang::AccessSpecifier, clang::Decl**, clang::ParsedAttributes*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x651f1f0)
#35 0x000000000652cb59 clang::Parser::ParseAliasDeclarationAfterDeclarator(clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::Parser::UsingDeclarator&, clang::SourceLocation&, clang::AccessSpecifier, clang::ParsedAttributes&, clang::Decl**) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x652cb59)
#36 0x000000000653664e clang::Parser::ParseUsingDeclaration(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x653664e)
#37 0x00000000065373a5 clang::Parser::ParseUsingDirectiveOrDeclaration(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::SourceLocation&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x65373a5)
#38 0x000000000651bbdf clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x651bbdf)
#39 0x00000000064d89e1 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64d89e1)
#40 0x00000000064d986d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64d986d)
#41 0x00000000064ccd3a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x64ccd3a)
#42 0x00000000043d11d8 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43d11d8)
#43 0x000000000465d109 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x465d109)
#44 0x00000000045e170e clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x45e170e)
#45 0x00000000047465de clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x47465de)
#46 0x0000000000c9299f cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc9299f)
#47 0x0000000000c8bb2a ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#48 0x0000000004414819 void llvm::function_ref<void ()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#49 0x0000000003a057a4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x3a057a4)
#50 0x0000000004414e0f clang::driver::CC1Command::Execute(llvm::ArrayRef<std::optional<llvm::StringRef>>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>>*, bool*) const (.part.0) Job.cpp:0:0
#51 0x00000000043da9d5 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43da9d5)
#52 0x00000000043db43d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43db43d)
#53 0x00000000043e3055 clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x43e3055)
#54 0x0000000000c8fcd5 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc8fcd5)
#55 0x0000000000b63ba4 main (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xb63ba4)
#56 0x000074f668e29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#57 0x000074f668e29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#58 0x0000000000c8b5de _start (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0xc8b5de)
clang++: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Compiler returned: 134
Endilll commented 1 month ago

I suspect there are two (or more) issues here!

I don't know how many issues are there, but I ran into three more crashes while re-reducing this one, and then one of them lead me back to the crash in this issue. (Hence two reductions.) Wild.

shafik commented 1 month ago

@Endilll note the original reduction no longer crashes in trunk: https://godbolt.org/z/3b8fdajsq

Endilll commented 1 month ago

@Endilll note the original reduction no longer crashes in trunk: https://godbolt.org/z/3b8fdajsq

Yes, but original reproduce is still crashing. Which was the reason Corentin pointed me out to this issue again.