Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ericniebler opened this issue Jan 7, 2024 · 11 comments
Open
Labels
c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" confirmed Verified by a second party crash-on-invalid

Comments

@ericniebler
Copy link

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<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] ********************
@github-actions github-actions bot added the clang Clang issues not falling into any other category label Jan 7, 2024
@EugeneZelenko EugeneZelenko added clang:frontend Language frontend issues, e.g. anything involving "Sema" crash Prefer [crash-on-valid] or [crash-on-invalid] and removed clang Clang issues not falling into any other category labels Jan 8, 2024
@llvmbot
Copy link
Member

llvmbot commented Jan 8, 2024

@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&lt;stdexec::__sexpr&lt;(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)&gt;&gt;'
[build] 5.	/home/eniebler/Code/stdexec/include/stdexec/execution.hpp:730:19: instantiating function definition 'stdexec::__get_completion_signatures::get_completion_signatures_t::__impl&lt;stdexec::__sexpr&lt;(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)&gt;, stdexec::__sync_wait::__env&gt;'
[build]   #<!-- -->0 0x00007f62994cc406 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, 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&amp;, clang::ASTContext const&amp;, 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&lt;clang::Expr const*&gt;, llvm::SmallVectorImpl&lt;clang::Expr*&gt;&amp;, clang::MultiLevelTemplateArgumentList const&amp;, clang::SourceRange, clang::ConstraintSatisfaction&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc)
[build]  #<!-- -->11 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&amp;, clang::SourceLocation, clang::DeclarationNameInfo const&amp;, 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&amp;) (/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&lt;void ()&gt;) (/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&lt;clang::SourceLocation&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&amp;, 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&lt;clang::ParmVarDecl*&gt;&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89)
[build]  #<!-- -->30 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional&lt;clang::ASTTemplateArgumentListInfo const*&gt;, 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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build]  #<!-- -->33 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3)
[build]  #<!-- -->34 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&lt;clang::DeducedTemplateArgument&gt;&amp;, unsigned int, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, llvm::SmallVectorImpl&lt;clang::Sema::OriginalCallArg&gt; const*, bool, llvm::function_ref&lt;bool ()&gt;) (/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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build]  #<!-- -->37 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef&lt;clang::Expr*&gt;, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, bool, bool, llvm::function_ref&lt;bool (llvm::ArrayRef&lt;clang::QualType&gt;)&gt;) (/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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;) (/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&lt;clang::Expr const*&gt;, llvm::SmallVectorImpl&lt;clang::Expr*&gt;&amp;, clang::MultiLevelTemplateArgumentList const&amp;, clang::SourceRange, clang::ConstraintSatisfaction&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc)
[build] #<!-- -->114 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&amp;, clang::SourceLocation, clang::DeclarationNameInfo const&amp;, 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&amp;) (/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&lt;clang::Expr const*&gt;, llvm::SmallVectorImpl&lt;clang::Expr*&gt;&amp;, clang::MultiLevelTemplateArgumentList const&amp;, clang::SourceRange, clang::ConstraintSatisfaction&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc)
[build] #<!-- -->121 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&amp;, clang::SourceLocation, clang::DeclarationNameInfo const&amp;, 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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;, 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&lt;void ()&gt;) (/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&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cec30)
[build] #<!-- -->180 0x00007f62a126e128 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&amp;, 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&amp;, 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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&lt;clang::ParmVarDecl*&gt;&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89)
[build] #<!-- -->202 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional&lt;clang::ASTTemplateArgumentListInfo const*&gt;, 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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build] #<!-- -->205 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3)
[build] #<!-- -->206 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&lt;clang::DeducedTemplateArgument&gt;&amp;, unsigned int, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, llvm::SmallVectorImpl&lt;clang::Sema::OriginalCallArg&gt; const*, bool, llvm::function_ref&lt;bool ()&gt;) (/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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build] #<!-- -->209 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef&lt;clang::Expr*&gt;, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, bool, bool, llvm::function_ref&lt;bool (llvm::ArrayRef&lt;clang::QualType&gt;)&gt;) (/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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd)
[build] #<!-- -->215 0x00007f62a0a8034b clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult&lt;clang::Expr*, true&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa8034b)
[build] #<!-- -->216 0x00007f62a0a81ad7 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&amp;, 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&lt;clang::Stmt*, 32u&gt;&amp;, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadc154)
[build] #<!-- -->221 0x00007f62a0adbb08 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&lt;clang::Stmt*, 32u&gt;&amp;, 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&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae500f)
[build] #<!-- -->224 0x00007f62a0aff733 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&amp;, clang::Parser::ParsedTemplateInfo const&amp;, clang::Parser::LateParsedAttrList*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaff733)
[build] #<!-- -->225 0x00007f62a0a4c5c0 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&amp;, clang::DeclaratorContext, clang::ParsedAttributes&amp;, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa4c5c0)
[build] #<!-- -->226 0x00007f62a0afe7d7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;, clang::ParsingDeclSpec&amp;, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe7d7)
[build] #<!-- -->227 0x00007f62a0afe1d1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe1d1)
[build] #<!-- -->228 0x00007f62a0afd473 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;, clang::ParsingDeclSpec*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafd473)
[build] #<!-- -->229 0x00007f62a0afb919 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&lt;clang::DeclGroupRef&gt;&amp;, clang::Sema::ModuleImportState&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafb919)
[build] #<!-- -->230 0x00007f62a0a378ce clang::ParseAST(clang::Sema&amp;, 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&amp;) (/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&lt;char const*&gt;, 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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20b0c)
[build] #<!-- -->238 0x00007f62a239449e clang::driver::CC1Command::Execute(llvm::ArrayRef&lt;std::optional&lt;llvm::StringRef&gt;&gt;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;&gt;*, bool*) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x239449e)
[build] #<!-- -->239 0x00007f62a235d40d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&amp;, clang::driver::Command const*&amp;, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d40d)
[build] #<!-- -->240 0x00007f62a235d66e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&amp;, llvm::SmallVectorImpl&lt;std::pair&lt;int, clang::driver::Command const*&gt;&gt;&amp;, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d66e)
[build] #<!-- -->241 0x00007f62a23791ed clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&amp;, llvm::SmallVectorImpl&lt;std::pair&lt;int, clang::driver::Command const*&gt;&gt;&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x23791ed)
[build] #<!-- -->242 0x0000558b4d5cbd2d clang_main(int, char**, llvm::ToolContext const&amp;) (/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>

@zyn0217 zyn0217 added the needs-reduction Large reproducer that should be reduced into a simpler form label Jan 8, 2024
@tbaederr
Copy link
Contributor

tbaederr commented Jan 8, 2024

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
Copy link
Contributor

Endilll commented Feb 6, 2024

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

@Endilll Endilll added c++20 crash-on-invalid confirmed Verified by a second party and removed crash Prefer [crash-on-valid] or [crash-on-invalid] needs-reduction Large reproducer that should be reduced into a simpler form labels Feb 6, 2024
@llvmbot
Copy link
Member

llvmbot commented Feb 6, 2024

@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&lt;stdexec::__sexpr&lt;(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)&gt;&gt;'
[build] 5.	/home/eniebler/Code/stdexec/include/stdexec/execution.hpp:730:19: instantiating function definition 'stdexec::__get_completion_signatures::get_completion_signatures_t::__impl&lt;stdexec::__sexpr&lt;(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)&gt;, stdexec::__sync_wait::__env&gt;'
[build]   #<!-- -->0 0x00007f62994cc406 llvm::sys::PrintStackTrace(llvm::raw_ostream&amp;, 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&amp;, clang::ASTContext const&amp;, 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&lt;clang::Expr const*&gt;, llvm::SmallVectorImpl&lt;clang::Expr*&gt;&amp;, clang::MultiLevelTemplateArgumentList const&amp;, clang::SourceRange, clang::ConstraintSatisfaction&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc)
[build]  #<!-- -->11 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&amp;, clang::SourceLocation, clang::DeclarationNameInfo const&amp;, 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&amp;) (/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&lt;void ()&gt;) (/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&lt;clang::SourceLocation&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&amp;, 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&lt;clang::ParmVarDecl*&gt;&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89)
[build]  #<!-- -->30 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional&lt;clang::ASTTemplateArgumentListInfo const*&gt;, 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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build]  #<!-- -->33 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3)
[build]  #<!-- -->34 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&lt;clang::DeducedTemplateArgument&gt;&amp;, unsigned int, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, llvm::SmallVectorImpl&lt;clang::Sema::OriginalCallArg&gt; const*, bool, llvm::function_ref&lt;bool ()&gt;) (/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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build]  #<!-- -->37 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef&lt;clang::Expr*&gt;, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, bool, bool, llvm::function_ref&lt;bool (llvm::ArrayRef&lt;clang::QualType&gt;)&gt;) (/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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;) (/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&lt;clang::Expr const*&gt;, llvm::SmallVectorImpl&lt;clang::Expr*&gt;&amp;, clang::MultiLevelTemplateArgumentList const&amp;, clang::SourceRange, clang::ConstraintSatisfaction&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc)
[build] #<!-- -->114 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&amp;, clang::SourceLocation, clang::DeclarationNameInfo const&amp;, 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&amp;) (/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&lt;clang::Expr const*&gt;, llvm::SmallVectorImpl&lt;clang::Expr*&gt;&amp;, clang::MultiLevelTemplateArgumentList const&amp;, clang::SourceRange, clang::ConstraintSatisfaction&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x132e4bc)
[build] #<!-- -->121 0x00007f62a182ebb4 clang::Sema::CheckConceptTemplateId(clang::CXXScopeSpec const&amp;, clang::SourceLocation, clang::DeclarationNameInfo const&amp;, 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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&amp;, 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&lt;void ()&gt;) (/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&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19cec30)
[build] #<!-- -->180 0x00007f62a126e128 clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&amp;, 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&amp;, 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&amp;, 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&amp;) (/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&amp;, 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&amp;) (/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&amp;, 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&lt;clang::ParmVarDecl*&gt;&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x196aa89)
[build] #<!-- -->202 0x00007f62a19679f6 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional&lt;clang::ASTTemplateArgumentListInfo const*&gt;, 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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build] #<!-- -->205 0x00007f62a19709d3 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x19709d3)
[build] #<!-- -->206 0x00007f62a18d184d clang::Sema::FinishTemplateArgumentDeduction(clang::FunctionTemplateDecl*, llvm::SmallVectorImpl&lt;clang::DeducedTemplateArgument&gt;&amp;, unsigned int, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, llvm::SmallVectorImpl&lt;clang::Sema::OriginalCallArg&gt; const*, bool, llvm::function_ref&lt;bool ()&gt;) (/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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x11f6aed)
[build] #<!-- -->209 0x00007f62a18d2f16 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef&lt;clang::Expr*&gt;, clang::FunctionDecl*&amp;, clang::sema::TemplateDeductionInfo&amp;, bool, bool, llvm::function_ref&lt;bool (llvm::ArrayRef&lt;clang::QualType&gt;)&gt;) (/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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, clang::OverloadCandidateSet&amp;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, 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&lt;clang::Expr*&gt;, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x14ee5bd)
[build] #<!-- -->215 0x00007f62a0a8034b clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult&lt;clang::Expr*, true&gt;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa8034b)
[build] #<!-- -->216 0x00007f62a0a81ad7 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&amp;, 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&lt;clang::Stmt*, 32u&gt;&amp;, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xadc154)
[build] #<!-- -->221 0x00007f62a0adbb08 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector&lt;clang::Stmt*, 32u&gt;&amp;, 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&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xae500f)
[build] #<!-- -->224 0x00007f62a0aff733 clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&amp;, clang::Parser::ParsedTemplateInfo const&amp;, clang::Parser::LateParsedAttrList*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xaff733)
[build] #<!-- -->225 0x00007f62a0a4c5c0 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&amp;, clang::DeclaratorContext, clang::ParsedAttributes&amp;, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xa4c5c0)
[build] #<!-- -->226 0x00007f62a0afe7d7 clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;, clang::ParsingDeclSpec&amp;, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe7d7)
[build] #<!-- -->227 0x00007f62a0afe1d1 clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;, clang::ParsingDeclSpec*, clang::AccessSpecifier) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafe1d1)
[build] #<!-- -->228 0x00007f62a0afd473 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&amp;, clang::ParsedAttributes&amp;, clang::ParsingDeclSpec*) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafd473)
[build] #<!-- -->229 0x00007f62a0afb919 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr&lt;clang::DeclGroupRef&gt;&amp;, clang::Sema::ModuleImportState&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0xafb919)
[build] #<!-- -->230 0x00007f62a0a378ce clang::ParseAST(clang::Sema&amp;, 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&amp;) (/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&lt;char const*&gt;, 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&lt;void ()&gt;) (/usr/lib/llvm-17/bin/../lib/libLLVM-17.so.1+0xc20b0c)
[build] #<!-- -->238 0x00007f62a239449e clang::driver::CC1Command::Execute(llvm::ArrayRef&lt;std::optional&lt;llvm::StringRef&gt;&gt;, std::__cxx11::basic_string&lt;char, std::char_traits&lt;char&gt;, std::allocator&lt;char&gt;&gt;*, bool*) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x239449e)
[build] #<!-- -->239 0x00007f62a235d40d clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&amp;, clang::driver::Command const*&amp;, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d40d)
[build] #<!-- -->240 0x00007f62a235d66e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&amp;, llvm::SmallVectorImpl&lt;std::pair&lt;int, clang::driver::Command const*&gt;&gt;&amp;, bool) const (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x235d66e)
[build] #<!-- -->241 0x00007f62a23791ed clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&amp;, llvm::SmallVectorImpl&lt;std::pair&lt;int, clang::driver::Command const*&gt;&gt;&amp;) (/usr/lib/llvm-17/bin/../lib/libclang-cpp.so.17+0x23791ed)
[build] #<!-- -->242 0x0000558b4d5cbd2d clang_main(int, char**, llvm::ToolContext const&amp;) (/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
Copy link
Collaborator

shafik commented Feb 6, 2024

Looks related to: #67058

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

@zyn0217
Copy link
Contributor

zyn0217 commented Feb 24, 2024

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.

CanonType = SubstType(Pattern->getUnderlyingType(),
TemplateArgLists, AliasTemplate->getLocation(),
AliasTemplate->getDeclName());

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.

// Find the canonical type for this type alias template specialization.
TypeAliasDecl *Pattern = AliasTemplate->getTemplatedDecl();
if (Pattern->isInvalidDecl())
return QualType();

And we're not doing that currently.

if (TemplateParamLists.size()) {
TypeAliasTemplateDecl *OldDecl = nullptr;
TemplateParameterList *OldTemplateParams = nullptr;
if (TemplateParamLists.size() != 1) {
Diag(UsingLoc, diag::err_alias_template_extra_headers)
<< SourceRange(TemplateParamLists[1]->getTemplateLoc(),
TemplateParamLists[TemplateParamLists.size()-1]->getRAngleLoc());
}
TemplateParameterList *TemplateParams = TemplateParamLists[0];

if (Invalid)
NewDecl->setInvalidDecl();
else if (OldDecl) {
NewDecl->setPreviousDecl(OldDecl);
CheckRedeclarationInModule(NewDecl, OldDecl);
}

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

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<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>>'
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>'
6.      /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:624:9: instantiating function definition 'stdexec::__domain::__transform_dependent_sender::operator()<stdexec::default_domain, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, stdexec::__sync_wait::__env>'
7.      /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:650:36: instantiating function definition 'stdexec::dependent_domain::transform_sender<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, 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()<stdexec::__let::__let_t<stdexec::__receivers::set_value_t>, (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::__domain::__transform_sender, stdexec::default_domain, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, 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::default_domain, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, 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::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, stdexec::__sync_wait::__env>'
12.     /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:3581:29: instantiating function definition 'stdexec::__let::__let_t<stdexec::__receivers::set_value_t>::transform_sender<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:578:18)>, stdexec::__sync_wait::__env>'
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<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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::Expr const*>, 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<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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::TemplateArgument>, clang::ConstraintSatisfaction&) /repo/llvm-project/clang/lib/Sema/SemaConcept.cpp:953:3
 #27 0x00007f7220b0697f 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 ()>) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3793:9
 #28 0x00007f7220c02899 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>)>)::$_2::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4474:14
 #29 0x00007f7220c027b5 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>)>)::$_2>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
 #30 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
 #31 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
 #32 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1
 #33 0x00007f7220b08e5b 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>)>) /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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0>(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::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0>(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<clang::ParmVarDecl*>&) /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<std::add_pointer, clang::TemplateDeclInstantiator, clang::Decl*>::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<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
 #63 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
 #64 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
 #65 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /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<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3760:7
 #68 0x00007f7220c02899 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>)>)::$_2::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4474:14
 #69 0x00007f7220c027b5 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>)>)::$_2>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
 #70 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
 #71 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
 #72 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1
 #73 0x00007f7220b08e5b 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>)>) /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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0>(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::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool)::$_0>(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<clang::ParmVarDecl*>&) /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<std::add_pointer, clang::TemplateDeclInstantiator, clang::Decl*>::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<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
 #92 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
 #93 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
 #94 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /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<clang::DeducedTemplateArgument>&, unsigned int, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, llvm::SmallVectorImpl<clang::Sema::OriginalCallArg> const*, bool, llvm::function_ref<bool ()>) /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:3760:7
 #97 0x00007f7220c02899 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>)>)::$_2::operator()() const /repo/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp:4474:14
 #98 0x00007f7220c027b5 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>)>)::$_2>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
 #99 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#100 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#101 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /repo/llvm-project/clang/lib/Sema/Sema.cpp:514:1
#102 0x00007f7220b08e5b 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>)>) /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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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<void ()>::callback_fn<clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#121 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#122 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#123 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /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::SourceLocation>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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<clang::concepts::Requirement*>, llvm::SmallVectorImpl<clang::concepts::Requirement*>&) /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<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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::Expr const*>, 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<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(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<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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::Expr const*>, 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<void ()>::callback_fn<clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#173 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#174 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#175 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /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::SourceLocation>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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<clang::concepts::Requirement*>, llvm::SmallVectorImpl<clang::concepts::Requirement*>&) /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<clang::Expr*, true> calculateConstraintSatisfaction<calculateConstraintSatisfaction(clang::Sema&, clang::NamedDecl const*, clang::SourceLocation, clang::MultiLevelTemplateArgumentList const&, clang::Expr const*, clang::ConstraintSatisfaction&)::$_0>(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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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<clang::Expr const*>, llvm::SmallVectorImpl<clang::Expr*>&, 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::Expr const*>, 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<void ()>::callback_fn<clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool)::$_1>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#212 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#213 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#214 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /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::SourceLocation>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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::Expr*>, 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<std::add_pointer, clang::TemplateDeclInstantiator, clang::Decl*>::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<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::$_0>(long) /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:45:5
#243 0x00007f7219b74be9 llvm::function_ref<void ()>::operator()() const /repo/llvm-project/llvm/include/llvm/ADT/STLFunctionalExtras.h:68:5
#244 0x00007f721f8b028d clang::runWithSufficientStackSpace(llvm::function_ref<void ()>, llvm::function_ref<void ()>) /repo/llvm-project/clang/include/clang/Basic/Stack.h:52:3
#245 0x00007f721f89cc50 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) /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

@cor3ntin cor3ntin added the needs-reduction Large reproducer that should be reduced into a simpler form label Aug 9, 2024
@Endilll
Copy link
Contributor

Endilll commented Aug 10, 2024

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 Endilll removed the needs-reduction Large reproducer that should be reduced into a simpler form label Aug 10, 2024
@Endilll
Copy link
Contributor

Endilll commented Aug 10, 2024

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
Copy link
Contributor

Endilll commented Aug 10, 2024

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
Copy link
Collaborator

shafik commented Aug 10, 2024

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

@Endilll
Copy link
Contributor

Endilll commented Aug 10, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c++20 clang:frontend Language frontend issues, e.g. anything involving "Sema" confirmed Verified by a second party crash-on-invalid
Projects
Status: No status
Development

No branches or pull requests

8 participants