Open niXman opened 6 months ago
@llvm/issue-subscribers-clang-frontend
Author: niXman (niXman)
You've linked to a header-only library. What's the actual source file your're trying to compile? Any one using that header? One of the examples?
@tbaederr
this one: https://github.com/niXman/cmdargs/blob/main/test/main.cpp
ie:
0) clone
1) cd cmdargs/test
2) clang++ -std=c++17 main.cpp -I../include -omain
hi,
is there some kind of state list or some queue of the issues just to be informed about?
hi, any update?
I don't know of anyone working on this issue, sorry. If you want to help make it easier for others, you could try producing a minimal test case.
Compiler Explorer suggests that even Clang 5 struggles with this code, so this is not a regression: https://godbolt.org/z/YzoeMfGEo
I tested this on Clang 19.0 f34dedbf44a0, and the compilation finished in 5m 12s after consuming about 16 GB of memory. Errors produced might be pointing out to this code hitting some pathological code path in our constexpr evaluator:
In file included from main.cpp:27:
./cmdargs.hpp:2024:20: error: constexpr if condition is not a constant expression
2024 | if constexpr ( args.template contains<details::help_option_type>() ) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:1387:25: note: in instantiation of function template specialization 'cmdargs::is_help_requested<cmdargs::option<filesrc_tag, std::basic_string<char>>, cmdargs::option<fmode_tag, std::basic_string<char>>, cmdargs::option<cmdargs::details::help_tag, bool>>' requested here
1387 | assert(cmdargs::is_help_requested(os, margv[0], args) == true);
| ^
./cmdargs.hpp:2024:20: note: function parameter 'args' with unknown value cannot be used in a constant expression
2024 | if constexpr ( args.template contains<details::help_option_type>() ) {
| ^
./cmdargs.hpp:2023:87: note: declared here
2023 | bool is_help_requested(std::ostream &os, const char *argv0, const args_pack<Args...> &args) {
| ^
./cmdargs.hpp:2037:20: error: constexpr if condition is not a constant expression
2037 | if constexpr ( args.template contains<details::version_option_type>() ) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
main.cpp:1463:25: note: in instantiation of function template specialization 'cmdargs::is_version_requested<cmdargs::option<filesrc_tag, std::basic_string<char>>, cmdargs::option<fmode_tag, std::basic_string<char>>, cmdargs::option<cmdargs::details::help_tag, bool>, cmdargs::option<cmdargs::details::version_tag, std::basic_string<char>>>' requested here
1463 | assert(cmdargs::is_version_requested(os, margv[0], args) == false);
| ^
./cmdargs.hpp:2037:20: note: function parameter 'args' with unknown value cannot be used in a constant expression
2037 | if constexpr ( args.template contains<details::version_option_type>() ) {
| ^
./cmdargs.hpp:2036:90: note: declared here
2036 | bool is_version_requested(std::ostream &os, const char *argv0, const args_pack<Args...> &args) {
| ^
./cmdargs.hpp:2024:20: error: constexpr if condition is not a constant expression
2024 | if constexpr ( args.template contains<details::help_option_type>() ) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cmdargs.hpp:2052:12: note: in instantiation of function template specialization 'cmdargs::is_help_requested<cmdargs::option<netsrc_tag, std::basic_string<char>>, cmdargs::option<filesrc_tag, std::basic_string<char>>, cmdargs::option<fmode_tag, std::basic_string<char>>, cmdargs::option<cmdargs::details::help_tag, bool>, cmdargs::option<cmdargs::details::version_tag, std::basic_string<char>>>' requested here
2052 | return is_help_requested(os, argv0, args) || is_version_requested(os, argv0, args);
| ^
main.cpp:1537:25: note: in instantiation of function template specialization 'cmdargs::is_help_or_version_requested<cmdargs::option<netsrc_tag, std::basic_string<char>>, cmdargs::option<filesrc_tag, std::basic_string<char>>, cmdargs::option<fmode_tag, std::basic_string<char>>, cmdargs::option<cmdargs::details::help_tag, bool>, cmdargs::option<cmdargs::details::version_tag, std::basic_string<char>>>' requested here
1537 | assert(cmdargs::is_help_or_version_requested(os, margv[0], args) == false);
| ^
./cmdargs.hpp:2024:20: note: function parameter 'args' with unknown value cannot be used in a constant expression
2024 | if constexpr ( args.template contains<details::help_option_type>() ) {
| ^
./cmdargs.hpp:2023:87: note: declared here
2023 | bool is_help_requested(std::ostream &os, const char *argv0, const args_pack<Args...> &args) {
| ^
./cmdargs.hpp:2037:20: error: constexpr if condition is not a constant expression
2037 | if constexpr ( args.template contains<details::version_option_type>() ) {
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./cmdargs.hpp:2052:50: note: in instantiation of function template specialization 'cmdargs::is_version_requested<cmdargs::option<netsrc_tag, std::basic_string<char>>, cmdargs::option<filesrc_tag, std::basic_string<char>>, cmdargs::option<fmode_tag, std::basic_string<char>>, cmdargs::option<cmdargs::details::help_tag, bool>, cmdargs::option<cmdargs::details::version_tag, std::basic_string<char>>>' requested here
2052 | return is_help_requested(os, argv0, args) || is_version_requested(os, argv0, args);
| ^
main.cpp:1537:25: note: in instantiation of function template specialization 'cmdargs::is_help_or_version_requested<cmdargs::option<netsrc_tag, std::basic_string<char>>, cmdargs::option<filesrc_tag, std::basic_string<char>>, cmdargs::option<fmode_tag, std::basic_string<char>>, cmdargs::option<cmdargs::details::help_tag, bool>, cmdargs::option<cmdargs::details::version_tag, std::basic_string<char>>>' requested here
1537 | assert(cmdargs::is_help_or_version_requested(os, margv[0], args) == false);
| ^
./cmdargs.hpp:2037:20: note: function parameter 'args' with unknown value cannot be used in a constant expression
2037 | if constexpr ( args.template contains<details::version_option_type>() ) {
| ^
./cmdargs.hpp:2036:90: note: declared here
2036 | bool is_version_requested(std::ostream &os, const char *argv0, const args_pack<Args...> &args) {
| ^
4 errors generated.
This stack trace is taken from recent build at bfa937a48767. While it's incomplete, it still highlights that we're stuck in a loop. I think I can produce a better stack trace if necessary.
(lldb) bt
* thread #1, name = 'clang', stop reason = signal SIGSTOP
* frame #0: 0x00007f9afb80f638 libclang-cpp.so.19.0`clang::Sema::BuildResolvedCallExpr(clang::Expr*, clang::NamedDecl*, clang::SourceLocation, llvm::ArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, clang::CallExpr::ADLCallKind) + 1368
frame #1: 0x00007f9afb7fb605 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 3589
frame #2: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #3: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #4: 0x00007f9afbd108cc libclang-cpp.so.19.0`___lldb_unnamed_symbol74368 + 76
frame #5: 0x00007f9afbd07b93 libclang-cpp.so.19.0`___lldb_unnamed_symbol74275 + 19
frame #6: 0x00007f9afbd02d60 libclang-cpp.so.19.0`___lldb_unnamed_symbol74240 + 656
frame #7: 0x00007f9afbd0ae6e libclang-cpp.so.19.0`___lldb_unnamed_symbol74306 + 206
frame #8: 0x00007f9afbd02b89 libclang-cpp.so.19.0`___lldb_unnamed_symbol74240 + 185
frame #9: 0x00007f9afbd0d6c4 libclang-cpp.so.19.0`___lldb_unnamed_symbol74345 + 356
frame #10: 0x00007f9afbd02b89 libclang-cpp.so.19.0`___lldb_unnamed_symbol74240 + 185
frame #11: 0x00007f9afbd0d632 libclang-cpp.so.19.0`___lldb_unnamed_symbol74345 + 210
frame #12: 0x00007f9afbd108ab libclang-cpp.so.19.0`___lldb_unnamed_symbol74368 + 43
frame #13: 0x00007f9afbd1c917 libclang-cpp.so.19.0`___lldb_unnamed_symbol74425 + 55
frame #14: 0x00007f9afbcfb682 libclang-cpp.so.19.0`clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers, bool) + 1138
frame #15: 0x00007f9afbd3f438 libclang-cpp.so.19.0`clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 216
frame #16: 0x00007f9afbd3d891 libclang-cpp.so.19.0`clang::TemplateDeclInstantiator::VisitFunctionDecl(clang::FunctionDecl*, clang::TemplateParameterList*, clang::TemplateDeclInstantiator::RewriteKind) + 497
frame #17: 0x00007f9afbd73ef8 libclang-cpp.so.19.0`___lldb_unnamed_symbol75093 + 24
frame #18: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #19: 0x00007f9afbd45317 libclang-cpp.so.19.0`clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) + 183
frame #20: 0x00007f9afbc99496 libclang-cpp.so.19.0`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 ()>) + 2966
frame #21: 0x00007f9afbcf46eb libclang-cpp.so.19.0`___lldb_unnamed_symbol74212 + 139
frame #22: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #23: 0x00007f9afbc9b09b libclang-cpp.so.19.0`clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) + 3051
frame #24: 0x00007f9afbb372d4 libclang-cpp.so.19.0`clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) + 868
frame #25: 0x00007f9afbb4771c libclang-cpp.so.19.0`___lldb_unnamed_symbol70321 + 156
frame #26: 0x00007f9afbb475f0 libclang-cpp.so.19.0`clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) + 288
frame #27: 0x00007f9afbb47940 libclang-cpp.so.19.0`clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) + 176
frame #28: 0x00007f9afbb47c53 libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 371
frame #29: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #30: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #31: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #32: 0x00007f9afbd1c917 libclang-cpp.so.19.0`___lldb_unnamed_symbol74425 + 55
frame #33: 0x00007f9afbcfa8ab libclang-cpp.so.19.0`___lldb_unnamed_symbol74232 + 187
frame #34: 0x00007f9afbcfb1c6 libclang-cpp.so.19.0`clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) + 118
frame #35: 0x00007f9afbbc0617 libclang-cpp.so.19.0`clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) + 1607
frame #36: 0x00007f9afbd1a64d libclang-cpp.so.19.0`___lldb_unnamed_symbol74409 + 2029
frame #37: 0x00007f9afbd20e27 libclang-cpp.so.19.0`___lldb_unnamed_symbol74451 + 119
frame #38: 0x00007f9afbd1e414 libclang-cpp.so.19.0`___lldb_unnamed_symbol74433 + 212
frame #39: 0x00007f9afbcfa8ab libclang-cpp.so.19.0`___lldb_unnamed_symbol74232 + 187
frame #40: 0x00007f9afbd0d58f libclang-cpp.so.19.0`___lldb_unnamed_symbol74345 + 47
frame #41: 0x00007f9afbd11128 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 24
frame #42: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #43: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #44: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #45: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #46: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #47: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #48: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #49: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #50: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #51: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #52: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #53: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #54: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #55: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #56: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #57: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #58: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #59: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #60: 0x00007f9afbd11143 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 51
frame #61: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #62: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #63: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #64: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #65: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #66: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #67: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #68: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #69: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #70: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #71: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #72: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #73: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #74: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #75: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #76: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #77: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #78: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #79: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #80: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #81: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #82: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #83: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #84: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #85: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #86: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #87: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #88: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #89: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #90: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #91: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #92: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #93: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #94: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #95: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #96: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #97: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #98: 0x00007f9afbd11143 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 51
frame #99: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #100: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #101: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #102: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #103: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #104: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #105: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #106: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #107: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #108: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #109: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #110: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #111: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #112: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #113: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #114: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #115: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #116: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #117: 0x00007f9afbd11143 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 51
frame #118: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #119: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #120: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #121: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #122: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #123: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #124: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #125: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #126: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #127: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #128: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #129: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #130: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #131: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #132: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #133: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #134: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #135: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #136: 0x00007f9afbd11143 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 51
frame #137: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #138: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #139: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #140: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #141: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #142: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #143: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #144: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #145: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #146: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #147: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #148: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #149: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #150: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #151: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #152: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #153: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #154: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #155: 0x00007f9afbd11143 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 51
frame #156: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #157: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #158: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #159: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #160: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #161: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #162: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #163: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #164: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #165: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #166: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #167: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #168: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #169: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #170: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #171: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #172: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #173: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #174: 0x00007f9afbd11143 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 51
frame #175: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #176: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #177: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #178: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #179: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #180: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #181: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #182: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #183: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #184: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #185: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #186: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #187: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #188: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #189: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #190: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #191: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #192: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #193: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #194: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #195: 0x00007f9afbd11158 libclang-cpp.so.19.0`___lldb_unnamed_symbol74376 + 72
frame #196: 0x00007f9afbd23a35 libclang-cpp.so.19.0`___lldb_unnamed_symbol74483 + 21
frame #197: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #198: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #199: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #200: 0x00007f9afb8f5758 libclang-cpp.so.19.0`___lldb_unnamed_symbol66246 + 1128
frame #201: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #202: 0x00007f9afb83176f libclang-cpp.so.19.0`clang::Sema::MarkFunctionReferenced(clang::SourceLocation, clang::FunctionDecl*, bool) + 751
frame #203: 0x00007f9afb8364bc libclang-cpp.so.19.0`___lldb_unnamed_symbol64707 + 380
frame #204: 0x00007f9afb80040b libclang-cpp.so.19.0`clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*, clang::Expr const*) + 219
frame #205: 0x00007f9afb7ffdb5 libclang-cpp.so.19.0`clang::Sema::BuildDeclRefExpr(clang::ValueDecl*, clang::QualType, clang::ExprValueKind, clang::DeclarationNameInfo const&, clang::NestedNameSpecifierLoc, clang::NamedDecl*, clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 261
frame #206: 0x00007f9afbb466d4 libclang-cpp.so.19.0`clang::Sema::FixOverloadedFunctionReference(clang::Expr*, clang::DeclAccessPair, clang::FunctionDecl*) + 1268
frame #207: 0x00007f9afbb47f92 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 242
frame #208: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #209: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #210: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #211: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #212: 0x00007f9afbd108ab libclang-cpp.so.19.0`___lldb_unnamed_symbol74368 + 43
frame #213: 0x00007f9afbd013b5 libclang-cpp.so.19.0`___lldb_unnamed_symbol74236 + 437
frame #214: 0x00007f9afbd1a240 libclang-cpp.so.19.0`___lldb_unnamed_symbol74409 + 992
frame #215: 0x00007f9afbd20e27 libclang-cpp.so.19.0`___lldb_unnamed_symbol74451 + 119
frame #216: 0x00007f9afbd1e414 libclang-cpp.so.19.0`___lldb_unnamed_symbol74433 + 212
frame #217: 0x00007f9afbcfa8ab libclang-cpp.so.19.0`___lldb_unnamed_symbol74232 + 187
frame #218: 0x00007f9afbcfb1c6 libclang-cpp.so.19.0`clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName) + 118
frame #219: 0x00007f9afbbc0617 libclang-cpp.so.19.0`clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation, clang::TemplateArgumentListInfo&) + 1607
frame #220: 0x00007f9afbd1a64d libclang-cpp.so.19.0`___lldb_unnamed_symbol74409 + 2029
frame #221: 0x00007f9afbd20e27 libclang-cpp.so.19.0`___lldb_unnamed_symbol74451 + 119
frame #222: 0x00007f9afbd1e414 libclang-cpp.so.19.0`___lldb_unnamed_symbol74433 + 212
frame #223: 0x00007f9afbcfa8ab libclang-cpp.so.19.0`___lldb_unnamed_symbol74232 + 187
frame #224: 0x00007f9afbd01337 libclang-cpp.so.19.0`___lldb_unnamed_symbol74236 + 311
frame #225: 0x00007f9afbd011c2 libclang-cpp.so.19.0`clang::Sema::SubstTemplateArgument(clang::TemplateArgumentLoc const&, clang::MultiLevelTemplateArgumentList const&, clang::TemplateArgumentLoc&, clang::SourceLocation, clang::DeclarationName const&) + 82
frame #226: 0x00007f9afbbcb22b libclang-cpp.so.19.0`___lldb_unnamed_symbol71095 + 779
frame #227: 0x00007f9afbbcacfe libclang-cpp.so.19.0`clang::Sema::SubstDefaultTemplateArgumentIfAvailable(clang::TemplateDecl*, clang::SourceLocation, clang::SourceLocation, clang::Decl*, llvm::ArrayRef<clang::TemplateArgument>, llvm::ArrayRef<clang::TemplateArgument>, bool&) + 430
frame #228: 0x00007f9afbc9906d libclang-cpp.so.19.0`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 ()>) + 1901
frame #229: 0x00007f9afbcf46eb libclang-cpp.so.19.0`___lldb_unnamed_symbol74212 + 139
frame #230: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #231: 0x00007f9afbc9b09b libclang-cpp.so.19.0`clang::Sema::DeduceTemplateArguments(clang::FunctionTemplateDecl*, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::FunctionDecl*&, clang::sema::TemplateDeductionInfo&, bool, bool, clang::QualType, clang::Expr::Classification, llvm::function_ref<bool (llvm::ArrayRef<clang::QualType>)>) + 3051
frame #232: 0x00007f9afbb372d4 libclang-cpp.so.19.0`clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder, bool) + 868
frame #233: 0x00007f9afbb4771c libclang-cpp.so.19.0`___lldb_unnamed_symbol70321 + 156
frame #234: 0x00007f9afbb475f0 libclang-cpp.so.19.0`clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) + 288
frame #235: 0x00007f9afbb47940 libclang-cpp.so.19.0`clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) + 176
frame #236: 0x00007f9afbb47c53 libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 371
frame #237: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #238: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #239: 0x00007f9afbd0cd56 libclang-cpp.so.19.0`___lldb_unnamed_symbol74339 + 486
frame #240: 0x00007f9afbcff303 libclang-cpp.so.19.0`clang::Sema::SubstInitializer(clang::Expr*, clang::MultiLevelTemplateArgumentList const&, bool) + 83
frame #241: 0x00007f9afbd43f66 libclang-cpp.so.19.0`clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) + 358
frame #242: 0x00007f9afbd38a51 libclang-cpp.so.19.0`clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&, llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*, clang::DeclContext*, clang::LocalInstantiationScope*, bool, clang::VarTemplateSpecializationDecl*) + 1569
frame #243: 0x00007f9afbd38288 libclang-cpp.so.19.0`clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool, llvm::ArrayRef<clang::BindingDecl*>*) + 600
frame #244: 0x00007f9afbd73ef8 libclang-cpp.so.19.0`___lldb_unnamed_symbol75093 + 24
frame #245: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #246: 0x00007f9afbd45317 libclang-cpp.so.19.0`clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) + 183
frame #247: 0x00007f9afbd27bfa libclang-cpp.so.19.0`___lldb_unnamed_symbol74573 + 138
frame #248: 0x00007f9afbd1248d libclang-cpp.so.19.0`___lldb_unnamed_symbol74384 + 637
frame #249: 0x00007f9afbd00a98 libclang-cpp.so.19.0`clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList const&) + 88
frame #250: 0x00007f9afbd4711c libclang-cpp.so.19.0`clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation, clang::FunctionDecl*, bool, bool, bool) + 2764
frame #251: 0x00007f9afb509261 libclang-cpp.so.19.0`clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) + 65
frame #252: 0x00007f9afbc9ea13 libclang-cpp.so.19.0`clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation, bool) + 227
frame #253: 0x00007f9afb7f5f11 libclang-cpp.so.19.0`clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*, llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool, bool, clang::ObjCInterfaceDecl*, bool) + 1553
frame #254: 0x00007f9afbb47f75 libclang-cpp.so.19.0`___lldb_unnamed_symbol70322 + 213
frame #255: 0x00007f9afbb47d5f libclang-cpp.so.19.0`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 639
frame #256: 0x00007f9afb7fae11 libclang-cpp.so.19.0`clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) + 1553
frame #257: 0x00007f9afb80e5d2 libclang-cpp.so.19.0`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) + 82
frame #258: 0x00007f9afac68fbc libclang-cpp.so.19.0`clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*, true>) + 5356
frame #259: 0x00007f9afac6a700 libclang-cpp.so.19.0`clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) + 1920
frame #260: 0x00007f9afac6ca6f libclang-cpp.so.19.0`clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&, clang::Parser::TypeCastState, bool, bool*) + 10991
frame #261: 0x00007f9afac65f0d libclang-cpp.so.19.0`clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) + 285
frame #262: 0x00007f9afac3330d libclang-cpp.so.19.0`clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*) + 3853
frame #263: 0x00007f9afac301da libclang-cpp.so.19.0`clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) + 1578
frame #264: 0x00007f9afac2f605 libclang-cpp.so.19.0`clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, bool, clang::Parser::ForRangeInit*, clang::SourceLocation*) + 981
frame #265: 0x00007f9afac2ef89 libclang-cpp.so.19.0`clang::Parser::ParseDeclaration(clang::DeclaratorContext, clang::SourceLocation&, clang::ParsedAttributes&, clang::ParsedAttributes&, clang::SourceLocation*) + 825
frame #266: 0x00007f9afaccb652 libclang-cpp.so.19.0`clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) + 6866
frame #267: 0x00007f9afacc992b libclang-cpp.so.19.0`clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) + 347
frame #268: 0x00007f9afacd2480 libclang-cpp.so.19.0`clang::Parser::ParseCompoundStatementBody(bool) + 1648
frame #269: 0x00007f9afaccb2fb libclang-cpp.so.19.0`clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) + 6011
frame #270: 0x00007f9afacc992b libclang-cpp.so.19.0`clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) + 347
frame #271: 0x00007f9afacd2480 libclang-cpp.so.19.0`clang::Parser::ParseCompoundStatementBody(bool) + 1648
frame #272: 0x00007f9afaccb2fb libclang-cpp.so.19.0`clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*, clang::ParsedAttributes&, clang::ParsedAttributes&) + 6011
frame #273: 0x00007f9afacc992b libclang-cpp.so.19.0`clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*, 32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) + 347
frame #274: 0x00007f9afacd2480 libclang-cpp.so.19.0`clang::Parser::ParseCompoundStatementBody(bool) + 1648
frame #275: 0x00007f9afacd35c6 libclang-cpp.so.19.0`clang::Parser::ParseFunctionStatementBody(clang::Decl*, clang::Parser::ParseScope&) + 182
frame #276: 0x00007f9afaced703 libclang-cpp.so.19.0`clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&, clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) + 3715
frame #277: 0x00007f9afac3157a libclang-cpp.so.19.0`clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&, clang::DeclaratorContext, clang::ParsedAttributes&, clang::Parser::ParsedTemplateInfo&, clang::SourceLocation*, clang::Parser::ForRangeInit*) + 6602
frame #278: 0x00007f9afacec6dc libclang-cpp.so.19.0`clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec&, clang::AccessSpecifier) + 1100
frame #279: 0x00007f9afacec07f libclang-cpp.so.19.0`clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*, clang::AccessSpecifier) + 559
frame #280: 0x00007f9afaceb266 libclang-cpp.so.19.0`clang::Parser::ParseExternalDeclaration(clang::ParsedAttributes&, clang::ParsedAttributes&, clang::ParsingDeclSpec*) + 2006
frame #281: 0x00007f9aface96a7 libclang-cpp.so.19.0`clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, clang::Sema::ModuleImportState&) + 1495
frame #282: 0x00007f9afac19abe libclang-cpp.so.19.0`clang::ParseAST(clang::Sema&, bool, bool) + 814
frame #283: 0x00007f9afcc5c4b9 libclang-cpp.so.19.0`clang::FrontendAction::Execute() + 89
frame #284: 0x00007f9afcbcbda4 libclang-cpp.so.19.0`clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1012
frame #285: 0x00007f9afccd904e libclang-cpp.so.19.0`clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 702
frame #286: 0x0000558308eea6f3 clang`::cc1_main() at cc1_main.cpp:232:15
frame #287: 0x0000558308ee7ae5 clang`::ExecuteCC1Tool() at driver.cpp:215:12
frame #288: 0x0000558308ee6c88 clang`::clang_main() at driver.cpp:256:12
frame #289: 0x0000558308ef4cfa clang`main at clang-driver.cpp:17:10
frame #290: 0x00007f9af2042c8a libc.so.6`___lldb_unnamed_symbol3205 + 122
frame #291: 0x00007f9af2042d45 libc.so.6`__libc_start_main + 133
frame #292: 0x0000558308ee56e1 clang`_start + 33
Preprocessed source: https://godbolt.org/z/93Envj3eP
This is notoriously hard to reduce, because it's both long to test, and "stuck in what seems like a loop, but for a finite time" being a predicate that is rather hard to encode.
@niXman You can help us get closer to resolving the issue by producing a minimal example without any includes. Sorry, I've used up all the time I could allocate to this issue. You can also try creduce
or cvise
, maybe you'll be more successful than I was.
@Endilll ok, I'll try...
hello,
I was just trying to compile my hobby project: https://github.com/niXman/cmdargs I was unpleasantly surprised that when using
clang
all available 14Gb memory was used, while when usingGCC
only 1.2 Gb of memory was used!at the same time, the same code when using clang takes three times longer to compile! clang: 1m24,296s gcc: 0m31,485s
cmdline used: clang: time clang++15 -std=c++17 main.cpp -I../include -omain gcc: time g++ -std=c++17 main.cpp -I../include -omain
clang version:
gcc version:
any thoughts?
best!
ps moreover! while working on this project I was forced to disable
clangd
because it also took up all the available memory and kept freezing.