Open Quuxplusone opened 5 years ago
Attached clang_stacktrace
(40163 bytes, text/plain): The Clang stack trace
Can confirm this still crashes on trunk. The full stack trace is:
clang++: /root/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp:3611:
llvm::PointerUnion<clang::Decl*, llvm::SmallVector<clang::VarDecl*, 4>*>*
clang::LocalInstantiationScope::findInstantiationOf(const clang::Decl*):
Assertion `isa<LabelDecl>(D) && "declaration not instantiated in this scope"'
failed.
PLEASE submit a bug report to https://bugs.llvm.org/ and include the crash
backtrace, preprocessed source, and associated run script.
Stack dump:
0. Program arguments: /opt/compiler-explorer/clang-assertions-trunk/bin/clang++
-g -o /app/output.s -mllvm --x86-asm-syntax=intel -S --gcc-
toolchain=/opt/compiler-explorer/gcc-snapshot -fcolor-diagnostics -fno-crash-
diagnostics -isystem/opt/compiler-explorer/libs/GSL/trunk/include -std=c++17
<source>
1. <source>:29:25: current parser token ')'
2. <source>:25:11: parsing function body 'main'
3. <source>:25:11: in compound statement ('{}')
4. <source>:9:12: instantiating function definition 'curry((lambda at
<source>:27:14) &)::(anonymous class)::operator()<int &>'
5. <source>:5:16: instantiating function definition 'curry<(lambda at
<source>:10:20)>'
6. /opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-
gnu/12.0.0/../../../../include/c++/12.0.0/type_traits:3286:25: instantiating
variable definition 'std::is_invocable_v<(lambda at <source>:10:20)>'
7. /opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-
gnu/12.0.0/../../../../include/c++/12.0.0/type_traits:3038:12: instantiating
class definition 'std::is_invocable<(lambda at <source>:10:20)>'
8. /opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-
gnu/12.0.0/../../../../include/c++/12.0.0/type_traits:2581:12: instantiating
class definition 'std::__invoke_result<(lambda at <source>:10:20)>'
9. /opt/compiler-explorer/gcc-snapshot/lib/gcc/x86_64-linux-
gnu/12.0.0/../../../../include/c++/12.0.0/type_traits:2543:12: instantiating
class definition 'std::__result_of_impl<false, false, (lambda at
<source>:10:20)>'
#0 0x000055ae8b6987df PrintStackTraceSignalHandler(void*) Signals.cpp:0:0
#1 0x000055ae8b6965d0 llvm::sys::CleanupOnSignal(unsigned long) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x38965d0)
#2 0x000055ae8b5da698 CrashRecoverySignalHandler(int) CrashRecoveryContext.cpp:0:0
#3 0x00007fd91227e3c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x153c0)
#4 0x00007fd911d4d18b raise (/lib/x86_64-linux-gnu/libc.so.6+0x4618b)
#5 0x00007fd911d2c859 abort (/lib/x86_64-linux-gnu/libc.so.6+0x25859)
#6 0x00007fd911d2c729 (/lib/x86_64-linux-gnu/libc.so.6+0x25729)
#7 0x00007fd911d3df36 (/lib/x86_64-linux-gnu/libc.so.6+0x36f36)
#8 0x000055ae8dd76a03 clang::LocalInstantiationScope::findInstantiationOf(clang::Decl const*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f76a03)
#9 0x000055ae8ddeda26 clang::Sema::FindInstantiatedDecl(clang::SourceLocation, clang::NamedDecl*, clang::MultiLevelTemplateArgumentList const&, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5feda26)
#10 0x000055ae8dd71ad9 (anonymous namespace)::TemplateInstantiator::TransformDecl(clang::SourceLocation, clang::Decl*) SemaTemplateInstantiate.cpp:0:0
#11 0x000055ae8dd9c493 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDeclRefExpr(clang::DeclRefExpr*) SemaTemplateInstantiate.cpp:0:0
#12 0x000055ae8dd9c973 (anonymous namespace)::TemplateInstantiator::TransformDeclRefExpr(clang::DeclRefExpr*) SemaTemplateInstantiate.cpp:0:0
#13 0x000055ae8dd7ea76 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#14 0x000055ae8dd86822 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) SemaTemplateInstantiate.cpp:0:0
#15 0x000055ae8dd7e997 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#16 0x000055ae8dd894b4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) SemaTemplateInstantiate.cpp:0:0
#17 0x000055ae8dd8a88b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#18 0x000055ae8dda367c clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fa367c)
#19 0x000055ae8ddbc182 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fbc182)
#20 0x000055ae8de0045e clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, llvm::Optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (.constprop.5964) SemaTemplateInstantiateDecl.cpp:0:0
#21 0x000055ae8ddfbaa4 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) SemaTemplateInstantiateDecl.cpp:0:0
#22 0x000055ae8d689b1f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5889b1f)
#23 0x000055ae8ddb6343 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fb6343)
#24 0x000055ae8dd4e876 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-trunk/bin/clang+++0x5f4e876)
#25 0x000055ae8dd4fbae void llvm::function_ref<void ()>::callback_fn<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>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#26 0x000055ae8d689b1f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5889b1f)
#27 0x000055ae8dd5e6a3 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>)>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f5e6a3)
#28 0x000055ae8dc07645 clang::Sema::AddMethodTemplateCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::CXXRecordDecl*, clang::TemplateArgumentListInfo*, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, clang::OverloadCandidateParamOrder) (.constprop.1492) SemaOverload.cpp:0:0
#29 0x000055ae8dc07a0b clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType, clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e07a0b)
#30 0x000055ae8dc08166 clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e08166)
#31 0x000055ae8d95e89f clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5b5e89f)
#32 0x000055ae8d963713 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5b63713)
#33 0x000055ae8dd86922 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) SemaTemplateInstantiate.cpp:0:0
#34 0x000055ae8dd7e997 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#35 0x000055ae8dd894b4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) SemaTemplateInstantiate.cpp:0:0
#36 0x000055ae8dd8a88b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#37 0x000055ae8dd8f9a2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
#38 0x000055ae8dd935e8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) SemaTemplateInstantiate.cpp:0:0
#39 0x000055ae8dd94ef2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) SemaTemplateInstantiate.cpp:0:0
#40 0x000055ae8dd8b154 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#41 0x000055ae8dda3412 clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fa3412)
#42 0x000055ae8ddbc182 clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*, llvm::SmallVectorImpl<clang::ParmVarDecl*>&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fbc182)
#43 0x000055ae8de0045e clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*, clang::TemplateParameterList*, llvm::Optional<clang::ASTTemplateArgumentListInfo const*>, clang::TemplateDeclInstantiator::RewriteKind) (.constprop.5964) SemaTemplateInstantiateDecl.cpp:0:0
#44 0x000055ae8ddfbaa4 void llvm::function_ref<void ()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&)::'lambda'()>(long) SemaTemplateInstantiateDecl.cpp:0:0
#45 0x000055ae8d689b1f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5889b1f)
#46 0x000055ae8ddb6343 clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fb6343)
#47 0x000055ae8dd4e876 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-trunk/bin/clang+++0x5f4e876)
#48 0x000055ae8dd4fbae void llvm::function_ref<void ()>::callback_fn<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>)>)::'lambda1'()>(long) SemaTemplateDeduction.cpp:0:0
#49 0x000055ae8d689b1f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5889b1f)
#50 0x000055ae8dd5e6a3 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>)>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f5e6a3)
#51 0x000055ae8dbfd94b clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool, bool, clang::CallExpr::ADLCallKind, clang::OverloadCandidateParamOrder) (.constprop.1521) SemaOverload.cpp:0:0
#52 0x000055ae8dc13721 AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair, clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) SemaOverload.cpp:0:0
#53 0x000055ae8dc13a40 clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*, llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e13a40)
#54 0x000055ae8dc13ddc clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::OverloadCandidateSet*, clang::ActionResult<clang::Expr*, true>*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e13ddc)
#55 0x000055ae8dc15899 clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e15899)
#56 0x000055ae8d95e8ed clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5b5e8ed)
#57 0x000055ae8d963713 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5b63713)
#58 0x000055ae8dd86922 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) SemaTemplateInstantiate.cpp:0:0
#59 0x000055ae8dd7e997 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*) SemaTemplateInstantiate.cpp:0:0
#60 0x000055ae8dd894b4 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDecltypeType(clang::TypeLocBuilder&, clang::DecltypeTypeLoc) SemaTemplateInstantiate.cpp:0:0
#61 0x000055ae8dd8a88b clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#62 0x000055ae8dd8f9a2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
#63 0x000055ae8dd96fce clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f96fce)
#64 0x000055ae8ddf9ae2 clang::TemplateDeclInstantiator::InstantiateTypedefNameDecl(clang::TypedefNameDecl*, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5ff9ae2)
#65 0x000055ae8ddfa1af clang::TemplateDeclInstantiator::VisitTypedefDecl(clang::TypedefDecl*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5ffa1af)
#66 0x000055ae8dd98ab2 clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f98ab2)
#67 0x000055ae8ddb0de2 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fb0de2)
#68 0x000055ae8de25f8f void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::'lambda'()>(long) SemaType.cpp:0:0
#69 0x000055ae8d689b1f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5889b1f)
#70 0x000055ae8de30a73 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6030a73)
#71 0x000055ae8de30e45 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6030e45)
#72 0x000055ae8d6b971e clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x58b971e)
#73 0x000055ae8dc840d5 clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e840d5)
#74 0x000055ae8dd781e8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool) SemaTemplateInstantiate.cpp:0:0
#75 0x000055ae8dd969ba clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool) SemaTemplateInstantiate.cpp:0:0
#76 0x000055ae8dd8aafe clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#77 0x000055ae8dd8f9a2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
#78 0x000055ae8dd97c59 clang::Sema::SubstType(clang::TypeSourceInfo*, clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation, clang::DeclarationName, bool) (.constprop.4091) SemaTemplateInstantiate.cpp:0:0
#79 0x000055ae8dd980c5 clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f980c5)
#80 0x000055ae8dd9892d clang::Sema::InstantiateClass(clang::SourceLocation, clang::CXXRecordDecl*, clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f9892d)
#81 0x000055ae8ddb0de2 clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation, clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fb0de2)
#82 0x000055ae8de25f8f void llvm::function_ref<void ()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*)::'lambda'()>(long) SemaType.cpp:0:0
#83 0x000055ae8d689b1f clang::Sema::runWithSufficientStackSpace(clang::SourceLocation, llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5889b1f)
#84 0x000055ae8de30a73 clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6030a73)
#85 0x000055ae8de30e45 clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6030e45)
#86 0x000055ae8d6b971e clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&, clang::DeclContext*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x58b971e)
#87 0x000055ae8dc840d5 clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const&, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e840d5)
#88 0x000055ae8dd781e8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword, clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo const*, clang::SourceLocation, bool) SemaTemplateInstantiate.cpp:0:0
#89 0x000055ae8dd969ba clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&, clang::DependentNameTypeLoc, bool) SemaTemplateInstantiate.cpp:0:0
#90 0x000055ae8dd8aafe clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#91 0x000055ae8dd8f9a2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
#92 0x000055ae8dd935e8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) SemaTemplateInstantiate.cpp:0:0
#93 0x000055ae8dd94ef2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&, clang::TemplateSpecializationTypeLoc, clang::TemplateName) SemaTemplateInstantiate.cpp:0:0
#94 0x000055ae8dd8b154 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&, clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#95 0x000055ae8dd8f9a2 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) SemaTemplateInstantiate.cpp:0:0
#96 0x000055ae8dd935e8 clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc const&, clang::TemplateArgumentLoc&, bool) SemaTemplateInstantiate.cpp:0:0
#97 0x000055ae8dd96342 bool clang::TreeTransform<(anonymous namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLoc const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*, clang::TemplateArgumentListInfo&, bool) (.constprop.4090) SemaTemplateInstantiate.cpp:0:0
#98 0x000055ae8dd96624 clang::Sema::SubstTemplateArguments(llvm::ArrayRef<clang::TemplateArgumentLoc>, clang::MultiLevelTemplateArgumentList const&, clang::TemplateArgumentListInfo&) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f96624)
#99 0x000055ae8dd42abf _Z31FinishTemplateArgumentDeductionIN5clang38ClassTemplatePartialSpecializationDeclEENSt9enable_ifIXsr23IsPartialSpecializationIT_E5valueENS0_4Sema23TemplateDeductionResultEE4typeERS6_PS4_bRKNS0_20TemplateArgumentListERN4llvm15SmallVectorImplINS0_23DeducedTemplateArgumentEEERNS0_4sema21TemplateDeductionInfoE SemaTemplateDeduction.cpp:0:0
#100 0x000055ae8dd42fd5 void llvm::function_ref<void
()>::callback_fn<clang::Sema::DeduceTemplateArguments(clang::ClassTemplatePartialSpecializationDecl*,
clang::TemplateArgumentList const&,
clang::sema::TemplateDeductionInfo&)::'lambda'()>(long)
SemaTemplateDeduction.cpp:0:0
#101 0x000055ae8d689b1f
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5889b1f)
#102 0x000055ae8dd479e8
clang::Sema::DeduceTemplateArguments(clang::ClassTemplatePartialSpecializationDecl*,
clang::TemplateArgumentList const&, clang::sema::TemplateDeductionInfo&)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f479e8)
#103 0x000055ae8dd7b92b getPatternForClassTemplateSpecialization(clang::Sema&,
clang::SourceLocation, clang::ClassTemplateSpecializationDecl*,
clang::TemplateSpecializationKind) (.isra.4069) SemaTemplateInstantiate.cpp:0:0
#104 0x000055ae8ddb0d8b
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fb0d8b)
#105 0x000055ae8de25f8f void llvm::function_ref<void
()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation,
clang::QualType, clang::Sema::CompleteTypeKind,
clang::Sema::TypeDiagnoser*)::'lambda'()>(long) SemaType.cpp:0:0
#106 0x000055ae8d689b1f
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5889b1f)
#107 0x000055ae8de30a73
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x6030a73)
#108 0x000055ae8de30e45 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6030e45)
#109 0x000055ae8d6b971e
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x58b971e)
#110 0x000055ae8dc840d5
clang::Sema::CheckTypenameType(clang::ElaboratedTypeKeyword,
clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo
const&, clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5e840d5)
#111 0x000055ae8dd781e8 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::RebuildDependentNameType(clang::ElaboratedTypeKeyword,
clang::SourceLocation, clang::NestedNameSpecifierLoc, clang::IdentifierInfo
const*, clang::SourceLocation, bool) SemaTemplateInstantiate.cpp:0:0
#112 0x000055ae8dd969ba clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&,
clang::DependentNameTypeLoc, bool) SemaTemplateInstantiate.cpp:0:0
#113 0x000055ae8dd8aafe clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) SemaTemplateInstantiate.cpp:0:0
#114 0x000055ae8dd8f9a2 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*)
SemaTemplateInstantiate.cpp:0:0
#115 0x000055ae8dd97c59 clang::Sema::SubstType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, bool) (.constprop.4091) SemaTemplateInstantiate.cpp:0:0
#116 0x000055ae8dd980c5 clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*,
clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5f980c5)
#117 0x000055ae8dd9892d clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5f9892d)
#118 0x000055ae8ddb0de2
clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5fb0de2)
#119 0x000055ae8de25f8f void llvm::function_ref<void
()>::callback_fn<clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation,
clang::QualType, clang::Sema::CompleteTypeKind,
clang::Sema::TypeDiagnoser*)::'lambda'()>(long) SemaType.cpp:0:0
#120 0x000055ae8d689b1f
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5889b1f)
#121 0x000055ae8de30a73
clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation, clang::QualType,
clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser*) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x6030a73)
#122 0x000055ae8de30e45 clang::Sema::RequireCompleteType(clang::SourceLocation,
clang::QualType, clang::Sema::CompleteTypeKind, clang::Sema::TypeDiagnoser&)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x6030e45)
#123 0x000055ae8d6b971e
clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x58b971e)
#124 0x000055ae8d93524b
clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&,
clang::DeclarationNameInfo const&, bool, clang::Scope const*,
clang::TypeSourceInfo**) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5b3524b)
#125 0x000055ae8dd9c32a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) SemaTemplateInstantiate.cpp:0:0
#126 0x000055ae8dd7ea8a clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
SemaTemplateInstantiate.cpp:0:0
#127 0x000055ae8dd7f48c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(.part.4075) SemaTemplateInstantiate.cpp:0:0
#128 0x000055ae8dd7fbb2 clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x5f7fbb2)
#129 0x000055ae8ddb6a37
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5fb6a37)
#130 0x000055ae8ddb6dd7
clang::Sema::CompleteVarTemplateSpecializationDecl(clang::VarTemplateSpecializationDecl*,
clang::VarDecl*, clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x5fb6dd7)
#131 0x000055ae8ddf220e
clang::Sema::InstantiateVariableDefinition(clang::SourceLocation,
clang::VarDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5ff220e)
#132 0x000055ae8d689b1f
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5889b1f)
#133 0x000055ae8d9328b1 DoMarkVarDeclReferenced(clang::Sema&,
clang::SourceLocation, clang::VarDecl*, clang::Expr*,
llvm::DenseMap<clang::VarDecl const*, int, llvm::DenseMapInfo<clang::VarDecl
const*>, llvm::detail::DenseMapPair<clang::VarDecl const*, int> >&)
SemaExpr.cpp:0:0
#134 0x000055ae8d932dbe clang::Sema::MarkDeclRefReferenced(clang::DeclRefExpr*,
clang::Expr const*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5b32dbe)
#135 0x000055ae8d934122 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-trunk/bin/clang+++0x5b34122)
#136 0x000055ae8d934848 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-trunk/bin/clang+++0x5b34848)
#137 0x000055ae8d934b80
clang::Sema::BuildDeclarationNameExpr(clang::CXXScopeSpec const&,
clang::DeclarationNameInfo const&, clang::NamedDecl*, clang::NamedDecl*,
clang::TemplateArgumentListInfo const*, bool) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5b34b80)
#138 0x000055ae8dc91b2b clang::Sema::CheckVarTemplateId(clang::CXXScopeSpec
const&, clang::DeclarationNameInfo const&, clang::VarTemplateDecl*,
clang::SourceLocation, clang::TemplateArgumentListInfo const*) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x5e91b2b)
#139 0x000055ae8dc91c80 clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec
const&, clang::SourceLocation, clang::LookupResult&, bool,
clang::TemplateArgumentListInfo const*) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5e91c80)
#140 0x000055ae8dd9a855 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnresolvedLookupExpr(clang::UnresolvedLookupExpr*)
SemaTemplateInstantiate.cpp:0:0
#141 0x000055ae8dd7ecfd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
SemaTemplateInstantiate.cpp:0:0
#142 0x000055ae8dd820f0 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCondition(clang::SourceLocation,
clang::VarDecl*, clang::Expr*, clang::Sema::ConditionKind)
SemaTemplateInstantiate.cpp:0:0
#143 0x000055ae8ddafc38 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*)
SemaTemplateInstantiate.cpp:0:0
#144 0x000055ae8ddae4cb clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) SemaTemplateInstantiate.cpp:0:0
#145 0x000055ae8ddb0b23 clang::Sema::SubstStmt(clang::Stmt*,
clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5fb0b23)
#146 0x000055ae8ddf3c6a
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5ff3c6a)
#147 0x000055ae8d689b1f
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5889b1f)
#148 0x000055ae8dd1476c clang::Sema::DeduceReturnType(clang::FunctionDecl*,
clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5f1476c)
#149 0x000055ae8d91c96d clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*,
llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool,
bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5b1c96d)
#150 0x000055ae8dc14e84 FinishOverloadedCallExpr(clang::Sema&, clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*,
clang::OverloadCandidateSet*, clang::OverloadCandidate**,
clang::OverloadingResult, bool) SemaOverload.cpp:0:0
#151 0x000055ae8dc15907 clang::Sema::BuildOverloadedCallExpr(clang::Scope*,
clang::Expr*, clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5e15907)
#152 0x000055ae8d95e8ed clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5b5e8ed)
#153 0x000055ae8d963713 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5b63713)
#154 0x000055ae8dd86922 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*)
SemaTemplateInstantiate.cpp:0:0
#155 0x000055ae8dd7e997 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformExpr(clang::Expr*)
SemaTemplateInstantiate.cpp:0:0
#156 0x000055ae8dd7f48c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformInitializer(clang::Expr*, bool)
(.part.4075) SemaTemplateInstantiate.cpp:0:0
#157 0x000055ae8dd7f7cc clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformReturnStmt(clang::ReturnStmt*)
SemaTemplateInstantiate.cpp:0:0
#158 0x000055ae8ddae4cb clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) SemaTemplateInstantiate.cpp:0:0
#159 0x000055ae8ddb0b23 clang::Sema::SubstStmt(clang::Stmt*,
clang::MultiLevelTemplateArgumentList const&) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5fb0b23)
#160 0x000055ae8ddf3c6a
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5ff3c6a)
#161 0x000055ae8d689b1f
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5889b1f)
#162 0x000055ae8dd1476c clang::Sema::DeduceReturnType(clang::FunctionDecl*,
clang::SourceLocation, bool) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5f1476c)
#163 0x000055ae8d91c96d clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*,
llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool,
bool, clang::ObjCInterfaceDecl*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5b1c96d)
#164 0x000055ae8dbe080f CreateFunctionRefExpr(clang::Sema&,
clang::FunctionDecl*, clang::NamedDecl*, clang::Expr const*, bool,
clang::SourceLocation, clang::DeclarationNameLoc const&) SemaOverload.cpp:0:0
#165 0x000055ae8dc0856f
clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5e0856f)
#166 0x000055ae8d95e89f clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool, bool) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x5b5e89f)
#167 0x000055ae8d963713 clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x5b63713)
#168 0x000055ae8d5d8538
clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*,
true>) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x57d8538)
#169 0x000055ae8d5d2fee
clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool, bool&,
clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x57d2fee)
#170 0x000055ae8d5d59c6
clang::Parser::ParseCastExpression(clang::Parser::CastParseKind, bool,
clang::Parser::TypeCastState, bool, bool*) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x57d59c6)
#171 0x000055ae8d5d5a58
clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x57d5a58)
#172 0x000055ae8d5a563c
clang::Parser::ParseDeclarationAfterDeclaratorAndAttributes(clang::Declarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::ForRangeInit*)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x57a563c)
#173 0x000055ae8d5b51f7 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x57b51f7)
#174 0x000055ae8d5b5b25
clang::Parser::ParseSimpleDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::ParsedAttributesWithRange&, bool,
clang::Parser::ForRangeInit*, clang::SourceLocation*) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x57b5b25)
#175 0x000055ae8d5b5f1c
clang::Parser::ParseDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::ParsedAttributesWithRange&,
clang::SourceLocation*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x57b5f1c)
#176 0x000055ae8d62d34b
clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*,
clang::ParsedAttributesWithRange&) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x582d34b)
#177 0x000055ae8d62df3c
clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::ParsedStmtContext, clang::SourceLocation*) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x582df3c)
#178 0x000055ae8d62eadb clang::Parser::ParseCompoundStatementBody(bool)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x582eadb)
#179 0x000055ae8d62ef0b clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x582ef0b)
#180 0x000055ae8d593404
clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5793404)
#181 0x000055ae8d5b5512 clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x57b5512)
#182 0x000055ae8d58f5e9
clang::Parser::ParseDeclOrFunctionDefInternal(clang::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier) (/opt/compiler-explorer/clang-
assertions-trunk/bin/clang+++0x578f5e9)
#183 0x000055ae8d58fd31
clang::Parser::ParseDeclarationOrFunctionDefinition(clang::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) (.part.280) Parser.cpp:0:0
#184 0x000055ae8d58ff20
clang::Parser::ParseExternalDeclaration(clang::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x578ff20)
#185 0x000055ae8d590b79
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5790b79)
#186 0x000055ae8d586ce9 clang::ParseAST(clang::Sema&, bool, bool)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x5786ce9)
#187 0x000055ae8c6d0698 clang::CodeGenAction::ExecuteAction() (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x48d0698)
#188 0x000055ae8bfff721 clang::FrontendAction::Execute() (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x41ff721)
#189 0x000055ae8bf9bbca
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x419bbca)
#190 0x000055ae8c0cf393
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (/opt/compiler-
explorer/clang-assertions-trunk/bin/clang+++0x42cf393)
#191 0x000055ae890f7fec cc1_main(llvm::ArrayRef<char const*>, char const*,
void*) (/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x12f7fec)
#192 0x000055ae890f33e9 ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&)
driver.cpp:0:0
#193 0x000055ae8be4beb5 void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const::'lambda'()>(long) Job.cpp:0:0
#194 0x000055ae8b5dac83
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x37dac83)
#195 0x000055ae8be4e234
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__cxx11::basic_string<char, std::char_traits<char>,
std::allocator<char> >*, bool*) const (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x404e234)
#196 0x000055ae8be23dea
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x4023dea)
#197 0x000055ae8be24a7f
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&) const
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x4024a7f)
#198 0x000055ae8be2d84a
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::pair<int, clang::driver::Command const*> >&)
(/opt/compiler-explorer/clang-assertions-trunk/bin/clang+++0x402d84a)
#199 0x000055ae8901d3d2 main (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x121d3d2)
#200 0x00007fd911d2e0b3 __libc_start_main (/lib/x86_64-linux-
gnu/libc.so.6+0x270b3)
#201 0x000055ae890f2f5a _start (/opt/compiler-explorer/clang-assertions-
trunk/bin/clang+++0x12f2f5a)
clang-14: error: clang frontend command failed with exit code 134 (use -v to
see invocation)
Compiler returned: 134
It looks like another case of not setting up the template instantiation scope
properly.
clang_stacktrace
(40163 bytes, text/plain)