llvm / llvm-project

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

[clang] ICE in `clang::computeDependence(clang::CXXParenListInitExpr*)` #66557

Closed ericniebler closed 8 months ago

ericniebler commented 1 year ago

I believe the code is valid.

[proc] Executing command: /home/eniebler/.local/bin/cmake --build "/home/eniebler/Code/stdexec/build/Clang 16.0 x86_64-pc-linux-gnu/RelWithDebInfo" --config RelWithDebInfo --target example.hello_world --
[build] [1/2  50% :: 1.157] Building CXX object examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o
[build] FAILED: examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o 
[build] /usr/bin/clang++-16  -I/home/eniebler/Code/stdexec/include -fsanitize=address -O2 -g -DNDEBUG -std=gnu++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] 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++-16 -I/home/eniebler/Code/stdexec/include -fsanitize=address -O2 -g -DNDEBUG -std=gnu++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.  <eof> parser at end of file
[build] 2.  /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:6914:12: instantiating function definition 'stdexec::__sync_wait::sync_wait_t::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t>'
[build] 3.  /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:6929:12: instantiating function definition 'stdexec::__sync_wait::sync_wait_t::__impl::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t>'
[build] 4.  /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2033:12: instantiating function definition 'stdexec::__connect::connect_t::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t, stdexec::__sync_wait::__receiver<>::__t>'
[build] 5.  /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5732:21: instantiating function definition 'stdexec::__on::tag_invoke<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t, stdexec::__sync_wait::__receiver<>::__t>'
[build] 6.  /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5693:9: instantiating function definition 'stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::__t<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>::__t>'
[build] 7.  /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2033:12: instantiating function definition 'stdexec::__connect::connect_t::operator()<exec::static_thread_pool::scheduler::sender, stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>'
[build] 8.  /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:135:21: instantiating function definition 'exec::tag_invoke<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>'
[build] 9.  /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:130:14: instantiating function definition 'exec::static_thread_pool::scheduler::sender::make_operation_<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>'
[build] 10. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:375:14: instantiating function definition 'exec::static_thread_pool::operation<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>>::operation'
[build] 11. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:727:9: instantiating function definition 'stdexec::__receivers::set_value_t::operator()<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>'
[build] 12. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2965:11: instantiating function definition 'stdexec::__adaptors::tag_invoke<stdexec::__receivers::set_value_t>'
[build] 13. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2935:9 <Spelling=<scratch space>:352:1>: instantiating function definition 'stdexec::__adaptors::receiver_adaptor<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t, stdexec::__adaptors::__no::__receiver>::__t::__call_set_value<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>'
[build] 14. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5661:14: instantiating function definition 'stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::set_value'
[build] 15. /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:3249:25: instantiating variable definition 'std::is_constructible_v<stdexec::__just::__operation<stdexec::__detail::__receiver_with<&stdexec::__on::__operation_base<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__rcvr_, stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5635:9){}, stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5638:9){}>, stdexec::__receivers::set_value_t, std::tuple<>>::__t, stdexec::__conv<(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5666:66)>>'
[build]  #0 0x00007f1cdd7be706 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfbe706)
[build]  #1 0x00007f1cdd7bc8a0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfbc8a0)
[build]  #2 0x00007f1cdd6fd0f0 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xefd0f0)
[build]  #3 0x00007f1cdc042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
[build]  #4 0x00007f1ce4e15095 clang::computeDependence(clang::CXXParenListInitExpr*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xe15095)
[build]  #5 0x00007f1ce4f1839b clang::CXXParenListInitExpr::Create(clang::ASTContext&, llvm::ArrayRef<clang::Expr*>, clang::QualType, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xf1839b)
[build]  #6 0x00007f1ce579f8ad (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x179f8ad)
[build]  #7 0x00007f1ce57a3826 clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x17a3826)
[build]  #8 0x00007f1ce570c308 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x170c308)
[build]  #9 0x00007f1ce570a198 clang::Sema::BuildTypeTrait(clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x170a198)
[build] #10 0x00007f1ce5a468d1 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a468d1)
[build] #11 0x00007f1ce5a365cf clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a365cf)
[build] #12 0x00007f1ce5a74f66 clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a74f66)
[build] #13 0x00007f1ce5a7932c clang::Sema::CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7932c)
[build] #14 0x00007f1ce5a79dbf clang::Sema::InstantiateVariableDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a79dbf)
[build] #15 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d)
[build] #16 0x00007f1ce56243dd (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x16243dd)
[build] #17 0x00007f1ce55ec6d8 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ec6d8)
[build] #18 0x00007f1ce55ec0b1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ec0b1)
[build] #19 0x00007f1ce55ebf90 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ebf90)
[build] #20 0x00007f1ce55eff4b clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15eff4b)
[build] #21 0x00007f1ce5939939 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1939939)
[build] #22 0x00007f1ce5a443c8 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a443c8)
[build] #23 0x00007f1ce5a48c84 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a48c84)
[build] #24 0x00007f1ce5a47b40 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a47b40)
[build] #25 0x00007f1ce5a556b5 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a556b5)
[build] #26 0x00007f1ce5a5361f (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5361f)
[build] #27 0x00007f1ce5a3247f clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3247f)
[build] #28 0x00007f1ce5a70589 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a70589)
[build] #29 0x00007f1ce5a6d3d2 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a6d3d2)
[build] #30 0x00007f1ce5a9f8d4 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a9f8d4)
[build] #31 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d)
[build] #32 0x00007f1ce5a76573 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a76573)
[build] #33 0x00007f1ce59d81a8 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-16/bin/../lib/libclang-cpp.so.16+0x19d81a8)
[build] #34 0x00007f1ce5a2b837 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a2b837)
[build] #35 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d)
[build] #36 0x00007f1ce59d9821 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x19d9821)
[build] #37 0x00007f1ce58b6670 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-16/bin/../lib/libclang-cpp.so.16+0x18b6670)
[build] #38 0x00007f1ce58ccb65 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x18ccb65)
[build] #39 0x00007f1ce55ffdad clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ffdad)
[build] #40 0x00007f1ce5a3f4d1 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3f4d1)
[build] #41 0x00007f1ce5a39279 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a39279)
[build] #42 0x00007f1ce5a3f3ab (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3f3ab)
[build] #43 0x00007f1ce5a37c21 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a37c21)
[build] #44 0x00007f1ce5a50240 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a50240)
[build] #45 0x00007f1ce5a5834b (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5834b)
[build] #46 0x00007f1ce5a50240 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a50240)
[build] #47 0x00007f1ce5a37bb4 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a37bb4)
[build] #48 0x00007f1ce5a77ee6 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ee6)
[build] #49 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #50 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #51 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #52 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #53 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #54 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #55 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #56 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #57 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #58 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #59 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #60 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #61 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #62 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #63 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #64 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #65 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #66 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #67 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #68 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #69 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #70 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #71 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #72 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4)
[build] #73 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df)
[build] #74 0x00007f1ce533025f clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x133025f)
[build] #75 0x00007f1ce5330891 clang::Sema::ActOnEndOfTranslationUnit() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1330891)
[build] #76 0x00007f1ce4c8da1b clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xc8da1b)
[build] #77 0x00007f1ce4bcd51e clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xbcd51e)
[build] #78 0x00007f1ce67e4bd5 clang::FrontendAction::Execute() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x27e4bd5)
[build] #79 0x00007f1ce6761dc4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2761dc4)
[build] #80 0x00007f1ce685d654 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x285d654)
[build] #81 0x0000560a50a06f4c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang++-16+0x14f4c)
[build] #82 0x0000560a50a041f0 (/usr/bin/clang++-16+0x121f0)
[build] #83 0x00007f1ce643e632 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x243e632)
[build] #84 0x00007f1cdd6fce8c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xefce8c)
[build] #85 0x00007f1ce643dd53 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-16/bin/../lib/libclang-cpp.so.16+0x243dd53)
[build] #86 0x00007f1ce64095d2 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x24095d2)
[build] #87 0x00007f1ce640982e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x240982e)
[build] #88 0x00007f1ce6423f8d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2423f8d)
[build] #89 0x0000560a50a038b5 clang_main(int, char**) (/usr/bin/clang++-16+0x118b5)
[build] #90 0x00007f1cdc029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
[build] #91 0x00007f1cdc029e40 call_init ./csu/../csu/libc-start.c:128:20
[build] #92 0x00007f1cdc029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5
[build] #93 0x0000560a50a00855 _start (/usr/bin/clang++-16+0xe855)
[build] clang: error: clang frontend command failed with exit code 139 (use -v to see invocation)
[build] Ubuntu clang version 16.0.6 (++20230710042027+7cbf1a259152-1~exp1~20230710162048.105)
[build] Target: x86_64-pc-linux-gnu
[build] Thread model: posix
[build] InstalledDir: /usr/bin
[build] clang: 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: note: diagnostic msg: /tmp/hello_world-c25cf9.cpp
[build] clang: note: diagnostic msg: /tmp/hello_world-c25cf9.sh
[build] clang: note: diagnostic msg: 
[build] 
[build] ********************
[build] ninja: build stopped: subcommand failed.

hello_world.zip

llvmbot commented 1 year ago

@llvm/issue-subscribers-clang-frontend

I believe the code is valid. ``` [proc] Executing command: /home/eniebler/.local/bin/cmake --build "/home/eniebler/Code/stdexec/build/Clang 16.0 x86_64-pc-linux-gnu/RelWithDebInfo" --config RelWithDebInfo --target example.hello_world -- [build] [1/2 50% :: 1.157] Building CXX object examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o [build] FAILED: examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o [build] /usr/bin/clang++-16 -I/home/eniebler/Code/stdexec/include -fsanitize=address -O2 -g -DNDEBUG -std=gnu++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] 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++-16 -I/home/eniebler/Code/stdexec/include -fsanitize=address -O2 -g -DNDEBUG -std=gnu++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. <eof> parser at end of file [build] 2. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:6914:12: instantiating function definition 'stdexec::__sync_wait::sync_wait_t::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t>' [build] 3. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:6929:12: instantiating function definition 'stdexec::__sync_wait::sync_wait_t::__impl::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t>' [build] 4. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2033:12: instantiating function definition 'stdexec::__connect::connect_t::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t, stdexec::__sync_wait::__receiver<>::__t>' [build] 5. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5732:21: instantiating function definition 'stdexec::__on::tag_invoke<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t, stdexec::__sync_wait::__receiver<>::__t>' [build] 6. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5693:9: instantiating function definition 'stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::__t<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>::__t>' [build] 7. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2033:12: instantiating function definition 'stdexec::__connect::connect_t::operator()<exec::static_thread_pool::scheduler::sender, stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 8. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:135:21: instantiating function definition 'exec::tag_invoke<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 9. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:130:14: instantiating function definition 'exec::static_thread_pool::scheduler::sender::make_operation_<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 10. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:375:14: instantiating function definition 'exec::static_thread_pool::operation<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>>::operation' [build] 11. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:727:9: instantiating function definition 'stdexec::__receivers::set_value_t::operator()<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 12. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2965:11: instantiating function definition 'stdexec::__adaptors::tag_invoke<stdexec::__receivers::set_value_t>' [build] 13. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2935:9 <Spelling=<scratch space>:352:1>: instantiating function definition 'stdexec::__adaptors::receiver_adaptor<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t, stdexec::__adaptors::__no::__receiver>::__t::__call_set_value<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 14. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5661:14: instantiating function definition 'stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::set_value' [build] 15. /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:3249:25: instantiating variable definition 'std::is_constructible_v<stdexec::__just::__operation<stdexec::__detail::__receiver_with<&stdexec::__on::__operation_base<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__rcvr_, stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5635:9){}, stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5638:9){}>, stdexec::__receivers::set_value_t, std::tuple<>>::__t, stdexec::__conv<(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5666:66)>>' [build] #0 0x00007f1cdd7be706 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfbe706) [build] #1 0x00007f1cdd7bc8a0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfbc8a0) [build] #2 0x00007f1cdd6fd0f0 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xefd0f0) [build] #3 0x00007f1cdc042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) [build] #4 0x00007f1ce4e15095 clang::computeDependence(clang::CXXParenListInitExpr*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xe15095) [build] #5 0x00007f1ce4f1839b clang::CXXParenListInitExpr::Create(clang::ASTContext&, llvm::ArrayRef<clang::Expr*>, clang::QualType, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xf1839b) [build] #6 0x00007f1ce579f8ad (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x179f8ad) [build] #7 0x00007f1ce57a3826 clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x17a3826) [build] #8 0x00007f1ce570c308 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x170c308) [build] #9 0x00007f1ce570a198 clang::Sema::BuildTypeTrait(clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x170a198) [build] #10 0x00007f1ce5a468d1 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a468d1) [build] #11 0x00007f1ce5a365cf clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a365cf) [build] #12 0x00007f1ce5a74f66 clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a74f66) [build] #13 0x00007f1ce5a7932c clang::Sema::CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7932c) [build] #14 0x00007f1ce5a79dbf clang::Sema::InstantiateVariableDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a79dbf) [build] #15 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d) [build] #16 0x00007f1ce56243dd (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x16243dd) [build] #17 0x00007f1ce55ec6d8 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ec6d8) [build] #18 0x00007f1ce55ec0b1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ec0b1) [build] #19 0x00007f1ce55ebf90 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ebf90) [build] #20 0x00007f1ce55eff4b clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15eff4b) [build] #21 0x00007f1ce5939939 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1939939) [build] #22 0x00007f1ce5a443c8 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a443c8) [build] #23 0x00007f1ce5a48c84 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a48c84) [build] #24 0x00007f1ce5a47b40 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a47b40) [build] #25 0x00007f1ce5a556b5 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a556b5) [build] #26 0x00007f1ce5a5361f (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5361f) [build] #27 0x00007f1ce5a3247f clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3247f) [build] #28 0x00007f1ce5a70589 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a70589) [build] #29 0x00007f1ce5a6d3d2 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a6d3d2) [build] #30 0x00007f1ce5a9f8d4 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a9f8d4) [build] #31 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d) [build] #32 0x00007f1ce5a76573 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a76573) [build] #33 0x00007f1ce59d81a8 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-16/bin/../lib/libclang-cpp.so.16+0x19d81a8) [build] #34 0x00007f1ce5a2b837 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a2b837) [build] #35 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d) [build] #36 0x00007f1ce59d9821 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x19d9821) [build] #37 0x00007f1ce58b6670 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-16/bin/../lib/libclang-cpp.so.16+0x18b6670) [build] #38 0x00007f1ce58ccb65 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x18ccb65) [build] #39 0x00007f1ce55ffdad clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ffdad) [build] #40 0x00007f1ce5a3f4d1 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3f4d1) [build] #41 0x00007f1ce5a39279 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a39279) [build] #42 0x00007f1ce5a3f3ab (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3f3ab) [build] #43 0x00007f1ce5a37c21 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a37c21) [build] #44 0x00007f1ce5a50240 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a50240) [build] #45 0x00007f1ce5a5834b (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5834b) [build] #46 0x00007f1ce5a50240 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a50240) [build] #47 0x00007f1ce5a37bb4 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a37bb4) [build] #48 0x00007f1ce5a77ee6 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ee6) [build] #49 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #50 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #51 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #52 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #53 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #54 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #55 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #56 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #57 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #58 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #59 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #60 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #61 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #62 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #63 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #64 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #65 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #66 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #67 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #68 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #69 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #70 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #71 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #72 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #73 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #74 0x00007f1ce533025f clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x133025f) [build] #75 0x00007f1ce5330891 clang::Sema::ActOnEndOfTranslationUnit() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1330891) [build] #76 0x00007f1ce4c8da1b clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xc8da1b) [build] #77 0x00007f1ce4bcd51e clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xbcd51e) [build] #78 0x00007f1ce67e4bd5 clang::FrontendAction::Execute() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x27e4bd5) [build] #79 0x00007f1ce6761dc4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2761dc4) [build] #80 0x00007f1ce685d654 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x285d654) [build] #81 0x0000560a50a06f4c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang++-16+0x14f4c) [build] #82 0x0000560a50a041f0 (/usr/bin/clang++-16+0x121f0) [build] #83 0x00007f1ce643e632 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x243e632) [build] #84 0x00007f1cdd6fce8c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xefce8c) [build] #85 0x00007f1ce643dd53 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-16/bin/../lib/libclang-cpp.so.16+0x243dd53) [build] #86 0x00007f1ce64095d2 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x24095d2) [build] #87 0x00007f1ce640982e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x240982e) [build] #88 0x00007f1ce6423f8d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2423f8d) [build] #89 0x0000560a50a038b5 clang_main(int, char**) (/usr/bin/clang++-16+0x118b5) [build] #90 0x00007f1cdc029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 [build] #91 0x00007f1cdc029e40 call_init ./csu/../csu/libc-start.c:128:20 [build] #92 0x00007f1cdc029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 [build] #93 0x0000560a50a00855 _start (/usr/bin/clang++-16+0xe855) [build] clang: error: clang frontend command failed with exit code 139 (use -v to see invocation) [build] Ubuntu clang version 16.0.6 (++20230710042027+7cbf1a259152-1~exp1~20230710162048.105) [build] Target: x86_64-pc-linux-gnu [build] Thread model: posix [build] InstalledDir: /usr/bin [build] clang: 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: note: diagnostic msg: /tmp/hello_world-c25cf9.cpp [build] clang: note: diagnostic msg: /tmp/hello_world-c25cf9.sh [build] clang: note: diagnostic msg: [build] [build] ******************** [build] ninja: build stopped: subcommand failed. ``` [hello_world.zip](https://github.com/llvm/llvm-project/files/12629318/hello_world.zip)
tbaederr commented 1 year ago

https://github.com/llvm/llvm-project/blob/a63efd26324066d38724a8fd7fe1d6315c8a790e/clang/lib/Sema/SemaInit.cpp#L5470

This here adds a nullptr initializer to the InitExprs list.

Endilll commented 8 months ago

One reduction appears to fixed in Clang 17: https://godbolt.org/z/Yaae7Tr43 Reduced by me and C-Reduce using assertions build:

template <class _Fn>
struct __conv {
  friend void tag_invoke() noexcept {
    constexpr bool _Nothrow = __nothrow_callable;
    auto __query = [] () noexcept -> __result_t && {
      return [] () noexcept(_Nothrow) {};
    };
  }
};

Clang 16 crash:

<source>:4:31: error: use of undeclared identifier '__nothrow_callable'
    constexpr bool _Nothrow = __nothrow_callable;
                              ^
<source>:5:38: error: unknown type name '__result_t'
    auto __query = [] () noexcept -> __result_t && {
                                     ^
clang++: /root/llvm-project/clang/lib/Sema/SemaExprCXX.cpp:8269: void CheckIfAnyEnclosingLambdasMustCaptureAnyPotentialCaptures(clang::Expr*, clang::sema::LambdaScopeInfo*, clang::Sema&): Assertion `CurrentLSI->CallOperator == DC && "The current call operator must be synchronized with Sema's CurContext"' 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-16.0.0/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-12.2.0 -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 <source>
1.  <source>:6:39: current parser token '{'
2.  <source>:2:1: parsing struct/union/class body '__conv'
3.  <source>:3:37: parsing function body 'tag_invoke'
4.  <source>:3:37: in compound statement ('{}')
5.  <source>:5:20: lambda expression parsing
6.  <source>:5:52: in compound statement ('{}')
7.  <source>:6:14: lambda expression parsing
 #0 0x00005599b362b32f llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x412e32f)
 #1 0x00005599b36292cc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x412c2cc)
 #2 0x00005599b3575fb8 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007f79a4a42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x00007f79a4a969fc pthread_kill (/lib/x86_64-linux-gnu/libc.so.6+0x969fc)
 #5 0x00007f79a4a42476 gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x42476)
 #6 0x00007f79a4a287f3 abort (/lib/x86_64-linux-gnu/libc.so.6+0x287f3)
 #7 0x00007f79a4a2871b (/lib/x86_64-linux-gnu/libc.so.6+0x2871b)
 #8 0x00007f79a4a39e96 (/lib/x86_64-linux-gnu/libc.so.6+0x39e96)
 #9 0x00005599b6320b32 clang::Sema::ActOnFinishFullExpr(clang::Expr*, clang::SourceLocation, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x6e23b32)
#10 0x00005599b6574982 CheckConvertedConstantExpression(clang::Sema&, clang::Expr*, clang::QualType, clang::APValue&, clang::Sema::CCEKind, bool, clang::NamedDecl*) SemaOverload.cpp:0:0
#11 0x00005599b657519c clang::Sema::CheckConvertedConstantExpression(clang::Expr*, clang::QualType, llvm::APSInt&, clang::Sema::CCEKind) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x707819c)
#12 0x00005599b6160b9c clang::Sema::ActOnNoexceptSpec(clang::Expr*, clang::ExceptionSpecificationType&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x6c63b9c)
#13 0x00005599b5cfc392 clang::Parser::tryParseExceptionSpecification(bool, clang::SourceRange&, llvm::SmallVectorImpl<clang::OpaquePtr<clang::QualType>>&, llvm::SmallVectorImpl<clang::SourceRange>&, clang::ActionResult<clang::Expr*, true>&, llvm::SmallVector<clang::Token, 4u>*&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67ff392)
#14 0x00005599b5d2f3b6 clang::Parser::ParseLambdaExpressionAfterIntroducer(clang::LambdaIntroducer&)::'lambda0'(clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::DeclaratorChunk::ParamInfo>, clang::SourceLocation)::operator()(clang::SourceLocation, clang::SourceLocation, llvm::MutableArrayRef<clang::DeclaratorChunk::ParamInfo>, clang::SourceLocation) const ParseExprCXX.cpp:0:0
#15 0x00005599b5d324c6 clang::Parser::ParseLambdaExpressionAfterIntroducer(clang::LambdaIntroducer&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68354c6)
#16 0x00005599b5d329db clang::Parser::ParseLambdaExpression() (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68359db)
#17 0x00005599b5d120b2 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68150b2)
#18 0x00005599b5d1410b clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x681710b)
#19 0x00005599b5d141ad clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68171ad)
#20 0x00005599b5d1845d clang::Parser::ParseExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x681b45d)
#21 0x00005599b5d85a0a clang::Parser::ParseReturnStatement() (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x6888a0a)
#22 0x00005599b5d88d10 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688bd10)
#23 0x00005599b5d8a2f5 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688d2f5)
#24 0x00005599b5d8b2ca clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688e2ca)
#25 0x00005599b5d31f6a clang::Parser::ParseLambdaExpressionAfterIntroducer(clang::LambdaIntroducer&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x6834f6a)
#26 0x00005599b5d329db clang::Parser::ParseLambdaExpression() (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68359db)
#27 0x00005599b5d120b2 clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68150b2)
#28 0x00005599b5d1410b clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x681710b)
#29 0x00005599b5d141ad clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68171ad)
#30 0x00005599b5cd56fd clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67d86fd)
#31 0x00005599b5ce6a28 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::SourceLocation*, clang::Parser::ForRangeInit*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67e9a28)
#32 0x00005599b5ce9781 clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, bool, clang::Parser::ForRangeInit*, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67ec781)
#33 0x00005599b5ce9bf9 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67ecbf9)
#34 0x00005599b5d89672 clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688c672)
#35 0x00005599b5d8a2f5 clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688d2f5)
#36 0x00005599b5d8b2ca clang::Parser::ParseCompoundStatementBody(bool) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688e2ca)
#37 0x00005599b5d8cc7a clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x688fc7a)
#38 0x00005599b5cbdd3a clang::Parser::ParseLexedMethodDef(clang::Parser::LexedMethod&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67c0d3a)
#39 0x00005599b5cbda1d clang::Parser::ParseLexedMethodDefs(clang::Parser::ParsingClass&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67c0a1d)
#40 0x00005599b5d0871a clang::Parser::ParseCXXMemberSpecification(clang::SourceLocation, clang::SourceLocation, clang::ParsedAttributes&, unsigned int, clang::Decl*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x680b71a)
#41 0x00005599b5d0a7dd clang::Parser::ParseClassSpecifier(clang::tok::TokenKind, clang::SourceLocation, clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, bool, clang::Parser::DeclSpecContext, clang::ParsedAttributes&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x680d7dd)
#42 0x00005599b5cdad60 clang::Parser::ParseDeclarationSpecifiers(clang::DeclSpec&, clang::Parser::ParsedTemplateInfo const&, clang::AccessSpecifier, clang::Parser::DeclSpecContext, clang::Parser::LateParsedAttrList*, clang::ImplicitTypenameContext) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67ddd60)
#43 0x00005599b5d9da0f clang::Parser::ParseSingleDeclarationAfterTemplate(clang::DeclaratorContext, clang::Parser::ParsedTemplateInfo const&, clang::ParsingDeclRAIIObject&, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68a0a0f)
#44 0x00005599b5dac37e clang::Parser::ParseTemplateDeclarationOrSpecialization(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (.part.0) ParseTemplate.cpp:0:0
#45 0x00005599b5dac613 clang::Parser::ParseDeclarationStartingWithTemplate(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x68af613)
#46 0x00005599b5ce9db0 clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67ecdb0)
#47 0x00005599b5cb68c3 clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67b98c3)
#48 0x00005599b5cb7e2d clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67bae2d)
#49 0x00005599b5cb82f4 clang::Parser::ParseFirstTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67bb2f4)
#50 0x00005599b5cac18a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x67af18a)
#51 0x00005599b49ad3c8 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x54b03c8)
#52 0x00005599b4218659 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x4d1b659)
#53 0x00005599b419f1ee clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x4ca21ee)
#54 0x00005599b42ffa83 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x4e02a83)
#55 0x00005599b0a562a6 cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x15592a6)
#56 0x00005599b0a52397 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) driver.cpp:0:0
#57 0x00005599b40073b9 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
#58 0x00005599b35764a0 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x40794a0)
#59 0x00005599b4007c6f 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
#60 0x00005599b3fd030c clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x4ad330c)
#61 0x00005599b3fd0d8d clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x4ad3d8d)
#62 0x00005599b3fd9f5c clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x4adcf5c)
#63 0x00005599b0a549f2 clang_main(int, char**) (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x15579f2)
#64 0x00007f79a4a29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#65 0x00007f79a4a29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#66 0x00005599b0a4d07e _start (/opt/compiler-explorer/clang-assertions-16.0.0/bin/clang+++0x155007e)
clang-16: error: clang frontend command failed with exit code 134 (use -v to see invocation)
Endilll commented 8 months ago

Another reduction seems to be fixed on post-18 trunk: https://godbolt.org/z/szP53x4q4 Partial reduction by me and C-Reduce:

template < int >
using enable_if_t = int;

template < typename _Tp, typename... _Args >
constexpr int is_constructible_v = __is_constructible(_Tp, _Args...);

template <  typename , typename _Tp1>
struct _Nth_type {
  using type = _Tp1;
};

template < typename... >
struct tuple{};

template < typename... _Types >
struct variant {
  template <int _Np>
  using __to_type = _Nth_type<  _Types... >::type;

  template < typename... _Args >
  enable_if_t< is_constructible_v< __to_type< 0 >, _Args... > >
  emplace(_Args ...);
};

namespace stdexec {

template < class _Tp >
_Tp &&__declval();

struct __cp {
  template < class _Tp >
  using __f = _Tp;
};

template < class _Ty class _Up >
concept __decays_to = true;

struct __ignore {
  __ignore(auto);
};

struct __immovable {
  __immovable(__immovable &&) = 0
};

template < class _Tp >
using __t = _Tp::__t;

template < class... _Args >
concept _Ok = true;

template < bool >
struct __i;

template < template < class... > typename _Fn, class... _Args >
using __meval = __i< _Ok< _Args... > >::template __g< _Fn, _Args... >;

template < class _Fn, class... _Args >
using __minvoke = __i< _Ok< _Fn > >::template __h< _Fn, _Args... >;

template < bool >
struct __i {
  template < template < class... > typename _Fn, class... _Args >
  using __g = _Fn< _Args... >;

  template < class _Fn, class... _Args >
  using __h = __meval< _Fn::template __f, _Args... >;
};

struct __q {};

template < class _Ty >
struct _Yp {
  using __t = _Ty;
};

template < int = 0 >
struct __id_ {
  template < class _Ty >
  using __f = _Yp< _Ty >;
};

template < class _Ty >
using __id = __minvoke< __id_<>, _Ty >;

template < class _Fun, class... _As >
using __call_result_t = decltype(__declval< _Fun >()(__declval< _As >()...));

template < class _Fn >
struct __conv {
  _Fn __fn_;
  using __t = __call_result_t< _Fn >;
  operator __t();
};

template < class _Fn >
__conv(_Fn) -> __conv< _Fn >;

struct __default_domain;

namespace __receivers {
struct set_value_t;
}

extern __receivers::set_value_t set_value;

struct connect_t;

extern connect_t connect;

template < class _Sender, class _Receiver >
using connect_result_t = __call_result_t< connect_t, _Sender, _Receiver >;

template < class _Sender >
using __impl_of = decltype(__declval< _Sender >().__impl_);

struct __get_tag {
  template < class _Tag >
  _Tag operator()(_Tag, ...);
};

template < class _ImplFn >
struct __sexpr { 
  __call_result_t< _ImplFn, __cp, __get_tag > __tag();
  _ImplFn __impl_;
  __sexpr(_ImplFn);

  template < typename _Tag, typename _Self, class _Receiver >
  friend auto tag_invoke(_Tag, _Self __self, _Receiver __rcvr)
      -> decltype(__self.__tag().connect(__self, __rcvr));

  template < class _Sender, class _ApplyFn >
  auto apply(_Sender , _ApplyFn ) -> __call_result_t< __impl_of< _Sender >, __cp, _ApplyFn >;
};

template < class _Tag >
struct make_sender_expr_t {
  template < class _Data , class... _Children >
  constexpr auto operator()(_Data , _Children... ) const {
    return __sexpr{__make_tuple(_Tag(),0)};
  };

  static constexpr auto __make_tuple
      = []< class _Tag2, class... _Captures >(_Tag2, _Captures ...) {
          return []< class _Cvref, class _Fun >(_Cvref, _Fun )
                     -> __call_result_t< _Fun, _Tag2, __minvoke< _Cvref, _Captures >... > {};
      };
}; 

template < class _Tag >
make_sender_expr_t< _Tag > make_sender_expr;

struct apply_sender_t {
  template < class _Sender, class _ApplyFn >
  auto operator()(_Sender __sndr, _ApplyFn __fun) -> decltype(__sndr.apply(__sndr, __fun));
};

template < class _Tag, class... _Args >
using tag_invoke_result_t = decltype(tag_invoke(__declval< _Tag >(), __declval< _Args >()...)) ;

namespace __receivers {

struct set_value_t {
  template < class _Receiver >
  void operator()(_Receiver) {
    tag_invoke(set_value_t{}, _Receiver{});
  }
};

} // namespace __receivers

template < typename _Scheduler >
using schedule_result_t = _Scheduler ;

struct connect_t {
  template < class _Sender, class _Receiver >
  static auto __select_impl() {
    using _Result = tag_invoke_result_t< connect_t, _Sender, _Receiver >;
    return static_cast< _Result (*)() >(0);
  }

  template < class _Sender, class _Receiver >
  using __select_impl_t = decltype(__select_impl< _Sender, _Receiver >());

  template < typename _Sender, typename _Receiver >
  auto operator()(_Sender , _Receiver ) -> __call_result_t< __select_impl_t< _Sender, _Receiver > >;
};

template < typename  >
struct __operation {
  struct __t : __immovable {};
};

template < typename , typename _Receiver >
struct __connect_fn {
  template < class _Tuple >
  auto operator()(__ignore, _Tuple ) -> __t<__operation< _Receiver > >;
};

template < typename , typename _SetTag >
struct __just_impl {
  template < typename _Sender, typename _Receiver >
  auto connect(_Sender , _Receiver )
      -> __call_result_t< apply_sender_t, _Sender, __connect_fn< _SetTag, _Receiver > >;
};

struct __just_t : __just_impl< __just_t, __receivers::set_value_t > {
  auto operator()() {
    return make_sender_expr< __just_t >(__meval< tuple>{});
  }
} just;

namespace {

template < typename _Derived >
struct receiver_adaptor {
  struct __t {
    template < class _Self >
    static auto __call_set_value() {
      _Self{}.set_value();
    }

    template < typename _SetValue >
    friend auto tag_invoke(_SetValue, _Derived __self) {
      __call_set_value<_Derived>();
    }
  };
};

}

template < typename _Derived>
using receiver_adaptor = receiver_adaptor< _Derived >::__t;

template < typename , typename  >
struct Trans_NS_Trans_Anon_NS0___operation;

template <  typename _SenderId >
struct __operation_base  {
  using _Sender = __t< _SenderId >;
  _Sender __sndr_;
};

template < typename _SchedulerId, typename _SenderId >
struct __receiver {
  struct __t : receiver_adaptor< __t > {
    using __receiver_ref_t = int ;
    stdexec::__t< Trans_NS_Trans_Anon_NS0___operation< _SchedulerId, _SenderId > > *__op_state_;
    void set_value() {
      __op_state->__data_.template emplace<>(__conv{[] {
        return connect(__op_state_->__sndr_, 0);
      }});
    }
  };
};

template < typename _SchedulerId, typename _SenderId >
struct Trans_NS_Trans_Anon_NS0___operation {
  using _Scheduler = __t< _SchedulerId >;
  using _Sender = __t< _SenderId >;

  struct __t : __operation_base<  _SenderId > {
    using __receiver_t = stdexec::__t<__receiver< _SchedulerId, _SenderId > >;

    variant<connect_result_t< _Scheduler, __receiver_t >,
            connect_result_t< _Sender, __receiver_ref_t > > __data_;
  };
};

template < typename _SchedulerId, typename _SenderId >
struct __sender {
  struct __t {
    using __operation_t = stdexec::__t<Trans_NS_Trans_Anon_NS0___operation< _SchedulerId, _SenderId > >;

    template < typename _Self, typename _Receiver >
    friend auto tag_invoke(connect_t, _Self, _Receiver ) -> __operation_t;
  };
};

struct {
  template < typename _Scheduler, typename _Sender >
  auto operator()(_Scheduler , _Sender ) -> __t< __sender< __id< _Scheduler >, __id< _Sender > > >;
} on;

template < typename  >
using __receiver_t = __q;

struct sync_wait_t {
  struct __impl;

  template < typename _Sender >
  auto operator()(_Sender __sndr) const {
    using __dispatcher_t = __impl ;
    __dispatcher_t()(__sndr);
  }
};

struct sync_wait_t::__impl {
  template < typename _Sender >
  auto operator()(_Sender __sndr) {
    connect(__sndr, __q{});
  }

  static constexpr sync_wait_t sync_wait{};

  struct static_thread_pool {
    struct scheduler {
      template < typename Receiver >
      auto make_operation_(Receiver r) {
        operation< __id< Receiver > >{pool_, r};
      }

      template <typename Sender, typename Receiver >
      friend auto tag_invoke(connect_t, Sender s, Receiver r) {
        s.make_operation_(r);
      }

      static_thread_pool &pool_;
    };

    template < typename ReceiverId >
    struct operation {
      using Receiver = __t< ReceiverId >;
      operation(static_thread_pool, Receiver receiver_) {
        set_value(receiver_);
        scheduler sch;
        sync_wait(on(sch, just()));
      }
    };
  };
};

}

Clang 17 crash:

<source>:35:22: error: cannot combine with previous 'class' declaration specifier
   35 | template < class _Ty class _Up >
      |                      ^
<source>:35:32: error: non-type template parameter has incomplete type 'class _Ty'
   35 | template < class _Ty class _Up >
      |                                ^
<source>:35:18: note: forward declaration of 'stdexec::_Ty'
   35 | template < class _Ty class _Up >
      |                  ^
<source>:43:3: error: initializer on function does not look like a pure-specifier
   43 |   __immovable(__immovable &&) = 0
      |   ^                             ~
<source>:43:34: error: expected ';' at end of declaration list
   43 |   __immovable(__immovable &&) = 0
      |                                  ^
      |                                  ;
<source>:247:16: error: reference to 'receiver_adaptor' is ambiguous
  247 |   struct __t : receiver_adaptor< __t > {
      |                ^
<source>:234:1: note: candidate found by name lookup is 'stdexec::receiver_adaptor'
  234 | using receiver_adaptor = receiver_adaptor< _Derived >::__t;
      | ^
<source>:217:8: note: candidate found by name lookup is 'stdexec::(anonymous namespace)::receiver_adaptor'
  217 | struct receiver_adaptor {
      |        ^
<source>:251:7: error: use of undeclared identifier '__op_state'; did you mean '__op_state_'?
  251 |       __op_state->__data_.template emplace<>(__conv{[] {
      |       ^~~~~~~~~~
      |       __op_state_
<source>:249:85: note: '__op_state_' declared here
  249 |     stdexec::__t< Trans_NS_Trans_Anon_NS0___operation< _SchedulerId, _SenderId > > *__op_state_;
      |                                                                                     ^
<source>:252:24: error: 'this' cannot be implicitly captured in this context
  252 |         return connect(__op_state_->__sndr_, 0);
      |                        ^
<source>:251:54: note: explicitly capture 'this'
  251 |       __op_state->__data_.template emplace<>(__conv{[] {
      |                                                      ^
      |                                                      this
<source>:267:40: error: unknown type name '__receiver_ref_t'; did you mean '__receiver_t'?
  267 |             connect_result_t< _Sender, __receiver_ref_t > > __data_;
      |                                        ^~~~~~~~~~~~~~~~
      |                                        __receiver_t
<source>:264:11: note: '__receiver_t' declared here
  264 |     using __receiver_t = stdexec::__t<__receiver< _SchedulerId, _SenderId > >;
      |           ^
<source>:296:5: error: invalid use of incomplete type '__dispatcher_t' (aka 'stdexec::sync_wait_t::__impl')
  296 |     __dispatcher_t()(__sndr);
      |     ^~~~~~~~~~~~~~~~
<source>:291:10: note: forward declaration of 'stdexec::sync_wait_t::__impl'
  291 |   struct __impl;
      |          ^
<source>:328:19: error: call to implicitly-deleted default constructor of 'scheduler'
  328 |         scheduler sch;
      |                   ^
<source>:320:27: note: default constructor of 'scheduler' is implicitly deleted because field 'pool_' of reference type 'static_thread_pool &' would not be initialized
  320 |       static_thread_pool &pool_;
      |                           ^
<source>:252:24: error: 'this' cannot be implicitly captured in this context
  252 |         return connect(__op_state_->__sndr_, 0);
      |                        ^
<source>:251:53: note: while substituting into a lambda expression here
  251 |       __op_state->__data_.template emplace<>(__conv{[] {
      |                                                     ^
<source>:221:15: note: in instantiation of member function 'stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t::set_value' requested here
  221 |       _Self{}.set_value();
      |               ^
<source>:327:9: note: in instantiation of function template specialization 'stdexec::__receivers::set_value_t::operator()<stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t>' requested here
  327 |         set_value(receiver_);
      |         ^
<source>:312:9: note: in instantiation of member function 'stdexec::sync_wait_t::__impl::static_thread_pool::operation<stdexec::_Yp<stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t>>::operation' requested here
  312 |         operation< __id< Receiver > >{pool_, r};
      |         ^
<source>:251:54: note: explicitly capture 'this'
  251 |       __op_state->__data_.template emplace<>(__conv{[] {
      |                                                      ^
      |                                                      this
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-17.0.1/bin/clang++ -gdwarf-4 -g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-toolchain=/opt/compiler-explorer/gcc-13.2.0 -fcolor-diagnostics -fno-crash-diagnostics -std=c++20 -ferror-limit=0 <source>
1.  <eof> parser at end of file
2.  <source>:326:7: instantiating function definition 'stdexec::sync_wait_t::__impl::static_thread_pool::operation<stdexec::_Yp<stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t>>::operation'
3.  <source>:166:8: instantiating function definition 'stdexec::__receivers::set_value_t::operator()<stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t>'
4.  <source>:250:10: instantiating function definition 'stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t::set_value'
5.  <source>:5:15: instantiating variable definition 'is_constructible_v<stdexec::__operation<stdexec::__receiver<stdexec::_Yp<stdexec::sync_wait_t::__impl::static_thread_pool::scheduler>, stdexec::_Yp<stdexec::__sexpr<(lambda at <source>:145:18)>>>::__t>::__t, stdexec::__conv<(lambda at <source>:251:53)>>'
 #0 0x00000000036e7558 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x36e7558)
 #1 0x00000000036e53dc llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x36e53dc)
 #2 0x0000000003632918 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
 #3 0x00007f6f9be42520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520)
 #4 0x0000000006e10e4f clang::computeDependence(clang::CXXParenListInitExpr*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6e10e4f)
 #5 0x0000000006f70c81 clang::CXXParenListInitExpr::Create(clang::ASTContext&, llvm::ArrayRef<clang::Expr*>, clang::QualType, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6f70c81)
 #6 0x0000000006536954 TryOrBuildParenListInitialization(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::ArrayRef<clang::Expr*>, clang::InitializationSequence&, bool, clang::ActionResult<clang::Expr*, true>*) SemaInit.cpp:0:0
 #7 0x0000000006532a28 clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6532a28)
 #8 0x000000000647c167 EvaluateBooleanTypeTrait(clang::Sema&, clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation, bool) SemaExprCXX.cpp:0:0
 #9 0x000000000647c8c9 clang::Sema::BuildTypeTrait(clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x647c8c9)
#10 0x00000000068fa679 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTypeTraitExpr(clang::TypeTraitExpr*) SemaTemplateInstantiate.cpp:0:0
#11 0x00000000068eab00 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#12 0x00000000068eb978 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool) (.part.0) SemaTemplateInstantiate.cpp:0:0
#13 0x00000000068ebed1 clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x68ebed1)
#14 0x000000000693097e clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x693097e)
#15 0x0000000006930d7e clang::Sema::CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6930d7e)
#16 0x0000000006971cde clang::Sema::InstantiateVariableDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6971cde)
#17 0x0000000005f3c081 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5f3c081)
#18 0x00000000063352e2 DoMarkVarDeclReferenced(clang::Sema&, clang::SourceLocation, clang::VarDecl*, clang::Expr*, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) SemaExpr.cpp:0:0
#19 0x00000000063611d1 MarkExprReferenced(clang::Sema&, clang::SourceLocation, clang::Decl*, clang::Expr*, bool, llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl const*, void>, llvm::detail::DenseMapPair<clang::VarDecl const*, int>>&) SemaExpr.cpp:0:0
#20 0x00000000063617c6 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x63617c6)
#21 0x0000000006361fbc clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6361fbc)
#22 0x0000000006367451 clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6367451)
#23 0x00000000067a1644 clang::Sema::CheckVarTemplateId(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::VarTemplateDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x67a1644)
#24 0x00000000067a619a clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x67a619a)
#25 0x000000000690a961 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformUnresolvedLookupExpr(clang::UnresolvedLookupExpr*) SemaTemplateInstantiate.cpp:0:0
#26 0x00000000068eab9f clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#27 0x00000000068eaf48 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#28 0x0000000006902683 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) SemaTemplateInstantiate.cpp:0:0
#29 0x0000000006905bd8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) SemaTemplateInstantiate.cpp:0:0
#30 0x00000000068f9671 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#31 0x000000000690db9d clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformElaboratedType(clang::TypeLocBuilder&, clang::ElaboratedTypeLoc) SemaTemplateInstantiate.cpp:0:0
#32 0x00000000068f932e clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#33 0x000000000691570a clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x691570a)
#34 0x000000000692f5d2 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x692f5d2)
#35 0x000000000697d00a clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x697d00a)
#36 0x000000000697ed94 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) SemaTemplateInstantiateDecl.cpp:0:0
#37 0x0000000005f3c081 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5f3c081)
#38 0x000000000692f46a clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x692f46a)
#39 0x00000000068aa879 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 ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x68aa879)
#40 0x00000000068ac8ba 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, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#41 0x0000000005f3c081 clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5f3c081)
#42 0x00000000068b62f2 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>)>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x68b62f2)
#43 0x00000000066cc938 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) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x66cc938)
#44 0x00000000066e02d2 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x66e02d2)
#45 0x000000000638e7e6 clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x638e7e6)
#46 0x0000000006390d3c clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x6390d3c)
#47 0x00000000068f4940 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) SemaTemplateInstantiate.cpp:0:0
#48 0x00000000068eafe2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#49 0x0000000006920ccf clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformStmt(clang::Stmt*, clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::StmtDiscardKind) SemaTemplateInstantiate.cpp:0:0
#50 0x0000000006921ee8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*, bool) SemaTemplateInstantiate.cpp:0:0
#51 0x000000000692512a clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x692512a)
#52 0x00000000069740fb clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x69740fb)
#53 0x00000000069724df clang::Sema::PerformPendingInstantiations(bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x69724df)
#54 0x00000000069743b6 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x69743b6)
#55 0x00000000069724df clang::Sema::PerformPendingInstantiations(bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x69724df)
#56 0x00000000069743b6 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x69743b6)
#57 0x00000000069724df clang::Sema::PerformPendingInstantiations(bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x69724df)
#58 0x0000000005f5f4c9 clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (.part.0) Sema.cpp:0:0
#59 0x0000000005f5fca2 clang::Sema::ActOnEndOfTranslationUnit() (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5f5fca2)
#60 0x0000000005df75f3 clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5df75f3)
#61 0x0000000005deb76a clang::ParseAST(clang::Sema&, bool, bool) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x5deb76a)
#62 0x0000000004939258 clang::CodeGenAction::ExecuteAction() (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x4939258)
#63 0x00000000041a1c09 clang::FrontendAction::Execute() (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x41a1c09)
#64 0x00000000041278ce clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x41278ce)
#65 0x0000000004281de6 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x4281de6)
#66 0x0000000000bc67eb cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xbc67eb)
#67 0x0000000000bbefaa ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&, llvm::ToolContext const&) driver.cpp:0:0
#68 0x0000000003f83419 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
#69 0x0000000003632dc4 llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3632dc4)
#70 0x0000000003f83a0f 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
#71 0x0000000003f4b275 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3f4b275)
#72 0x0000000003f4bcdd clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3f4bcdd)
#73 0x0000000003f5385d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0x3f5385d)
#74 0x0000000000bc4a87 clang_main(int, char**, llvm::ToolContext const&) (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xbc4a87)
#75 0x0000000000abef61 main (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xabef61)
#76 0x00007f6f9be29d90 (/lib/x86_64-linux-gnu/libc.so.6+0x29d90)
#77 0x00007f6f9be29e40 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x29e40)
#78 0x0000000000bbea8e _start (/opt/compiler-explorer/clang-assertions-17.0.1/bin/clang+++0xbbea8e)
clang++: error: clang frontend command failed with exit code 139 (use -v to see invocation)
Compiler returned: 139
llvmbot commented 8 months ago

@llvm/issue-subscribers-c-20

Author: Eric Niebler (ericniebler)

I believe the code is valid. ``` [proc] Executing command: /home/eniebler/.local/bin/cmake --build "/home/eniebler/Code/stdexec/build/Clang 16.0 x86_64-pc-linux-gnu/RelWithDebInfo" --config RelWithDebInfo --target example.hello_world -- [build] [1/2 50% :: 1.157] Building CXX object examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o [build] FAILED: examples/CMakeFiles/example.hello_world.dir/hello_world.cpp.o [build] /usr/bin/clang++-16 -I/home/eniebler/Code/stdexec/include -fsanitize=address -O2 -g -DNDEBUG -std=gnu++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] 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++-16 -I/home/eniebler/Code/stdexec/include -fsanitize=address -O2 -g -DNDEBUG -std=gnu++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. <eof> parser at end of file [build] 2. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:6914:12: instantiating function definition 'stdexec::__sync_wait::sync_wait_t::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t>' [build] 3. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:6929:12: instantiating function definition 'stdexec::__sync_wait::sync_wait_t::__impl::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t>' [build] 4. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2033:12: instantiating function definition 'stdexec::__connect::connect_t::operator()<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t, stdexec::__sync_wait::__receiver<>::__t>' [build] 5. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5732:21: instantiating function definition 'stdexec::__on::tag_invoke<stdexec::__on::__sender<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>>::__t, stdexec::__sync_wait::__receiver<>::__t>' [build] 6. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5693:9: instantiating function definition 'stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::__t<stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>::__t>' [build] 7. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2033:12: instantiating function definition 'stdexec::__connect::connect_t::operator()<exec::static_thread_pool::scheduler::sender, stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 8. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:135:21: instantiating function definition 'exec::tag_invoke<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 9. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:130:14: instantiating function definition 'exec::static_thread_pool::scheduler::sender::make_operation_<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 10. /home/eniebler/Code/stdexec/include/exec/static_thread_pool.hpp:375:14: instantiating function definition 'exec::static_thread_pool::operation<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>>::operation' [build] 11. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:727:9: instantiating function definition 'stdexec::__receivers::set_value_t::operator()<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 12. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2965:11: instantiating function definition 'stdexec::__adaptors::tag_invoke<stdexec::__receivers::set_value_t>' [build] 13. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:2935:9 <Spelling=<scratch space>:352:1>: instantiating function definition 'stdexec::__adaptors::receiver_adaptor<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t, stdexec::__adaptors::__no::__receiver>::__t::__call_set_value<stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t>' [build] 14. /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5661:14: instantiating function definition 'stdexec::__on::__receiver<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::set_value' [build] 15. /usr/bin/../lib/gcc/x86_64-linux-gnu/13/../../../../include/c++/13/type_traits:3249:25: instantiating variable definition 'std::is_constructible_v<stdexec::__just::__operation<stdexec::__detail::__receiver_with<&stdexec::__on::__operation_base<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__rcvr_, stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5635:9){}, stdexec::__on::__operation<exec::static_thread_pool::scheduler, stdexec::__sexpr<(lambda at /home/eniebler/Code/stdexec/include/stdexec/__detail/__basic_sender.hpp:195:18)>, stdexec::__sync_wait::__receiver<>>::__t::(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5638:9){}>, stdexec::__receivers::set_value_t, std::tuple<>>::__t, stdexec::__conv<(lambda at /home/eniebler/Code/stdexec/include/stdexec/execution.hpp:5666:66)>>' [build] #0 0x00007f1cdd7be706 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfbe706) [build] #1 0x00007f1cdd7bc8a0 llvm::sys::RunSignalHandlers() (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xfbc8a0) [build] #2 0x00007f1cdd6fd0f0 (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xefd0f0) [build] #3 0x00007f1cdc042520 (/lib/x86_64-linux-gnu/libc.so.6+0x42520) [build] #4 0x00007f1ce4e15095 clang::computeDependence(clang::CXXParenListInitExpr*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xe15095) [build] #5 0x00007f1ce4f1839b clang::CXXParenListInitExpr::Create(clang::ASTContext&, llvm::ArrayRef<clang::Expr*>, clang::QualType, unsigned int, clang::SourceLocation, clang::SourceLocation, clang::SourceLocation) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xf1839b) [build] #6 0x00007f1ce579f8ad (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x179f8ad) [build] #7 0x00007f1ce57a3826 clang::InitializationSequence::Perform(clang::Sema&, clang::InitializedEntity const&, clang::InitializationKind const&, llvm::MutableArrayRef<clang::Expr*>, clang::QualType*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x17a3826) [build] #8 0x00007f1ce570c308 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x170c308) [build] #9 0x00007f1ce570a198 clang::Sema::BuildTypeTrait(clang::TypeTrait, clang::SourceLocation, llvm::ArrayRef<clang::TypeSourceInfo*>, clang::SourceLocation) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x170a198) [build] #10 0x00007f1ce5a468d1 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a468d1) [build] #11 0x00007f1ce5a365cf clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a365cf) [build] #12 0x00007f1ce5a74f66 clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a74f66) [build] #13 0x00007f1ce5a7932c clang::Sema::CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7932c) [build] #14 0x00007f1ce5a79dbf clang::Sema::InstantiateVariableDefinition(clang::SourceLocation, clang::VarDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a79dbf) [build] #15 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d) [build] #16 0x00007f1ce56243dd (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x16243dd) [build] #17 0x00007f1ce55ec6d8 clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ec6d8) [build] #18 0x00007f1ce55ec0b1 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ec0b1) [build] #19 0x00007f1ce55ebf90 clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::CXXScopeSpec const*, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ebf90) [build] #20 0x00007f1ce55eff4b clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&, clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*, clang::TemplateArgumentListInfo const*, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15eff4b) [build] #21 0x00007f1ce5939939 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&, clang::SourceLocation, clang::LookupResult&, bool, clang::TemplateArgumentListInfo const*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1939939) [build] #22 0x00007f1ce5a443c8 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a443c8) [build] #23 0x00007f1ce5a48c84 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a48c84) [build] #24 0x00007f1ce5a47b40 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a47b40) [build] #25 0x00007f1ce5a556b5 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a556b5) [build] #26 0x00007f1ce5a5361f (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5361f) [build] #27 0x00007f1ce5a3247f clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3247f) [build] #28 0x00007f1ce5a70589 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a70589) [build] #29 0x00007f1ce5a6d3d2 clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, std::optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a6d3d2) [build] #30 0x00007f1ce5a9f8d4 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a9f8d4) [build] #31 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d) [build] #32 0x00007f1ce5a76573 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a76573) [build] #33 0x00007f1ce59d81a8 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-16/bin/../lib/libclang-cpp.so.16+0x19d81a8) [build] #34 0x00007f1ce5a2b837 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a2b837) [build] #35 0x00007f1ce532e56d clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x132e56d) [build] #36 0x00007f1ce59d9821 clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x19d9821) [build] #37 0x00007f1ce58b6670 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-16/bin/../lib/libclang-cpp.so.16+0x18b6670) [build] #38 0x00007f1ce58ccb65 clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x18ccb65) [build] #39 0x00007f1ce55ffdad clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x15ffdad) [build] #40 0x00007f1ce5a3f4d1 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3f4d1) [build] #41 0x00007f1ce5a39279 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a39279) [build] #42 0x00007f1ce5a3f3ab (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a3f3ab) [build] #43 0x00007f1ce5a37c21 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a37c21) [build] #44 0x00007f1ce5a50240 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a50240) [build] #45 0x00007f1ce5a5834b (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a5834b) [build] #46 0x00007f1ce5a50240 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a50240) [build] #47 0x00007f1ce5a37bb4 clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a37bb4) [build] #48 0x00007f1ce5a77ee6 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ee6) [build] #49 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #50 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #51 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #52 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #53 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #54 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #55 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #56 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #57 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #58 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #59 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #60 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #61 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #62 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #63 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #64 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #65 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #66 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #67 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #68 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #69 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #70 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #71 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #72 0x00007f1ce5a77ff4 clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a77ff4) [build] #73 0x00007f1ce5a7a2df clang::Sema::PerformPendingInstantiations(bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1a7a2df) [build] #74 0x00007f1ce533025f clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x133025f) [build] #75 0x00007f1ce5330891 clang::Sema::ActOnEndOfTranslationUnit() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x1330891) [build] #76 0x00007f1ce4c8da1b clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xc8da1b) [build] #77 0x00007f1ce4bcd51e clang::ParseAST(clang::Sema&, bool, bool) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0xbcd51e) [build] #78 0x00007f1ce67e4bd5 clang::FrontendAction::Execute() (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x27e4bd5) [build] #79 0x00007f1ce6761dc4 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2761dc4) [build] #80 0x00007f1ce685d654 clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x285d654) [build] #81 0x0000560a50a06f4c cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (/usr/bin/clang++-16+0x14f4c) [build] #82 0x0000560a50a041f0 (/usr/bin/clang++-16+0x121f0) [build] #83 0x00007f1ce643e632 (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x243e632) [build] #84 0x00007f1cdd6fce8c llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) (/usr/lib/llvm-16/bin/../lib/libLLVM-16.so.1+0xefce8c) [build] #85 0x00007f1ce643dd53 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-16/bin/../lib/libclang-cpp.so.16+0x243dd53) [build] #86 0x00007f1ce64095d2 clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&, clang::driver::Command const*&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x24095d2) [build] #87 0x00007f1ce640982e clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&, bool) const (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x240982e) [build] #88 0x00007f1ce6423f8d clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&, llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*>>&) (/usr/lib/llvm-16/bin/../lib/libclang-cpp.so.16+0x2423f8d) [build] #89 0x0000560a50a038b5 clang_main(int, char**) (/usr/bin/clang++-16+0x118b5) [build] #90 0x00007f1cdc029d90 __libc_start_call_main ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16 [build] #91 0x00007f1cdc029e40 call_init ./csu/../csu/libc-start.c:128:20 [build] #92 0x00007f1cdc029e40 __libc_start_main ./csu/../csu/libc-start.c:379:5 [build] #93 0x0000560a50a00855 _start (/usr/bin/clang++-16+0xe855) [build] clang: error: clang frontend command failed with exit code 139 (use -v to see invocation) [build] Ubuntu clang version 16.0.6 (++20230710042027+7cbf1a259152-1~exp1~20230710162048.105) [build] Target: x86_64-pc-linux-gnu [build] Thread model: posix [build] InstalledDir: /usr/bin [build] clang: 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: note: diagnostic msg: /tmp/hello_world-c25cf9.cpp [build] clang: note: diagnostic msg: /tmp/hello_world-c25cf9.sh [build] clang: note: diagnostic msg: [build] [build] ******************** [build] ninja: build stopped: subcommand failed. ``` [hello_world.zip](https://github.com/llvm/llvm-project/files/12629318/hello_world.zip)