[llvm-bugs] [Bug 45498] New: [ICE] Assertion failed: (!findSpecializationImpl(Specializations, CorrectInsertPos, SETraits::getTemplateArgs(Entry)) && InsertPos == CorrectInsertPos && "given incorrect InsertPos for specialization")

via llvm-bugs llvm-bugs at lists.llvm.org
Fri Apr 10 13:02:25 PDT 2020


https://bugs.llvm.org/show_bug.cgi?id=45498

            Bug ID: 45498
           Summary: [ICE] Assertion failed:
                    (!findSpecializationImpl(Specializations,
                    CorrectInsertPos, SETraits::getTemplateArgs(Entry)) &&
                    InsertPos == CorrectInsertPos && "given incorrect
                    InsertPos for specialization")
           Product: clang
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: C++2a
          Assignee: unassignedclangbugs at nondot.org
          Reporter: eniebler at boost.org
                CC: blitzrakete at gmail.com, erik.pilkington at gmail.com,
                    llvm-bugs at lists.llvm.org, richard-llvm at metafoo.co.uk

This only seems to happen when building with -jN for N>1.

Assertion failed: (!findSpecializationImpl(Specializations, CorrectInsertPos,
SETraits::getTemplateArgs(Entry)) && InsertPos == CorrectInsertPos && "given
incorrect InsertPos for specialization"), function addSpecializationImpl, file
/Users/eniebler/llvm/clang/lib/AST/DeclTemplate.cpp, line 297.
Stack dump:
0.      Program arguments: /Users/eniebler/llvm-install/bin/clang++
-I/Users/eniebler/Dropbox (Facebook)/home/Code/Code/libunifex/source/../include
-I/Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex-build-clang-trunk/include -isysroot
/Applications/Xcode_10.2.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk
-fcoroutines-ts -std=gnu++2a -o
CMakeFiles/produce_on_consume_via.dir/produce_on_consume_via.cpp.o -c
/Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/examples/produce_on_consume_via.cpp 
1.      <eof> parser at end of file
2.      /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/sync_wait.hpp:181:10:
instantiating function definition
'unifex::_sync_wait_cpo::_fn::operator()<unifex::_tfx::_sender<unifex::_tfx::_sender<unifex::_reduce::_sender<unifex::_adapt_stream::_adapted<unifex::_adapt_stream::_adapted<unifex::_next_adapt::_stream<unifex::_range::stream,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/transform_stream.hpp:29:37)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/on_stream.hpp:29:11),
void>::type, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/typed_via_stream.hpp:29:11),
void>::type, unifex::unit, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/for_each.hpp:55:15)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/for_each.hpp:59:11)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/examples/produce_on_consume_via.cpp:43:7)>::type,
unifex::unstoppable_token, unifex::unit>'
3.      /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/sender_concepts.hpp:339:17:
instantiating function definition
'unifex::_connect::_fn::_select_impl<unifex::_tfx::_sender<unifex::_tfx::_sender<unifex::_reduce::_sender<unifex::_adapt_stream::_adapted<unifex::_adapt_stream::_adapted<unifex::_next_adapt::_stream<unifex::_range::stream,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/transform_stream.hpp:29:37)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/on_stream.hpp:29:11),
void>::type, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/typed_via_stream.hpp:29:11),
void>::type, unifex::unit, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/for_each.hpp:55:15)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/for_each.hpp:59:11)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/examples/produce_on_consume_via.cpp:43:7)>::type,
unifex::_sync_wait::_receiver<unifex::unit, unifex::unstoppable_token
&&>::type>'
4.      /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/sender_concepts.hpp:339:17:
instantiating function definition
'unifex::_connect::_fn::_select_impl<unifex::_tfx::_sender<unifex::_reduce::_sender<unifex::_adapt_stream::_adapted<unifex::_adapt_stream::_adapted<unifex::_next_adapt::_stream<unifex::_range::stream,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/transform_stream.hpp:29:37)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/on_stream.hpp:29:11),
void>::type, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/typed_via_stream.hpp:29:11),
void>::type, unifex::unit, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/for_each.hpp:55:15)>::type,
(lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/source/../include/unifex/for_each.hpp:59:11)>::type,
unifex::_tfx::_receiver<unifex::_sync_wait::_receiver<unifex::unit,
unifex::unstoppable_token &&>::type, (lambda at /Users/eniebler/Dropbox
(Facebook)/home/Code/Code/libunifex/examples/produce_on_consume_via.cpp:43:7)>::type>'

0  clang++                  0x000000010d8a6bb5
llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  clang++                  0x000000010d8a5998 llvm::sys::RunSignalHandlers() +
248
2  clang++                  0x000000010d8a60b8
llvm::sys::CleanupOnSignal(unsigned long) + 216
3  clang++                  0x000000010d7f1b1a (anonymous
namespace)::CrashRecoveryContextImpl::HandleCrash(int, unsigned long) + 106
4  clang++                  0x000000010d7f1c7e CrashRecoverySignalHandler(int)
+ 110
5  libsystem_platform.dylib 0x00007fff686f6b1d _sigtramp + 29
6  libdyld.dylib            0x00007fff684e6065 dyldGlobalLockRelease() + 0
7  libsystem_c.dylib        0x00007fff685cca1c abort + 120
8  libsystem_c.dylib        0x00007fff685cbcd6 err + 0
9  clang++                  0x00000001113dba53 void
clang::RedeclarableTemplateDecl::addSpecializationImpl<clang::VarTemplateDecl,
clang::VarTemplateSpecializationDecl>(llvm::FoldingSetVector<clang::VarTemplateSpecializationDecl,
llvm::SmallVector<clang::VarTemplateSpecializationDecl*, 8u> >&,
clang::VarTemplateSpecializationDecl*, void*) (.cold.5) + 35
10 clang++                  0x000000010f9d967b void
clang::RedeclarableTemplateDecl::addSpecializationImpl<clang::VarTemplateDecl,
clang::VarTemplateSpecializationDecl>(llvm::FoldingSetVector<clang::VarTemplateSpecializationDecl,
llvm::SmallVector<clang::VarTemplateSpecializationDecl*, 8u> >&,
clang::VarTemplateSpecializationDecl*, void*) + 395
11 clang++                  0x000000010f705cb7
clang::TemplateDeclInstantiator::VisitVarTemplateSpecializationDecl(clang::VarTemplateDecl*,
clang::VarDecl*, void*, clang::TemplateArgumentListInfo const&,
llvm::ArrayRef<clang::TemplateArgument>, clang::VarTemplateSpecializationDecl*)
+ 375
12 clang++                  0x000000010f709325
clang::Sema::BuildVarTemplateInstantiation(clang::VarTemplateDecl*,
clang::VarDecl*, clang::TemplateArgumentList const&,
clang::TemplateArgumentListInfo const&,
llvm::SmallVectorImpl<clang::TemplateArgument>&, clang::SourceLocation, void*,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::LocalInstantiationScope*) + 501
13 clang++                  0x000000010f5d2f8d
clang::Sema::CheckVarTemplateId(clang::VarTemplateDecl*, clang::SourceLocation,
clang::SourceLocation, clang::TemplateArgumentListInfo const&) + 1677
14 clang++                  0x000000010f5d3b0a
clang::Sema::CheckVarTemplateId(clang::CXXScopeSpec const&,
clang::DeclarationNameInfo const&, clang::VarTemplateDecl*,
clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 42
15 clang++                  0x000000010f5d42ca
clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&,
clang::SourceLocation, clang::LookupResult&, bool,
clang::TemplateArgumentListInfo const*) + 314
16 clang++                  0x000000010f6d556b clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnresolvedLookupExpr(clang::UnresolvedLookupExpr*)
+ 1227
17 clang++                  0x000000010f6cba6e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 110
18 clang++                  0x000000010f6e9666 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCondition(clang::SourceLocation,
clang::VarDecl*, clang::Expr*, clang::Sema::ConditionKind) + 150
19 clang++                  0x000000010f6e6354 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) + 148
20 clang++                  0x000000010f6e64e2 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) + 546
21 clang++                  0x000000010f6e09a6 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) + 534
22 clang++                  0x000000010f6c3d0f
clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList
const&) + 79
23 clang++                  0x000000010f7083c2
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool) + 3842
24 clang++                  0x000000010efbf07e
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) + 46
25 clang++                  0x000000010f666558
clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation,
bool) + 760
26 clang++                  0x000000010f2836d7
clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*,
llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool,
bool, clang::ObjCInterfaceDecl*) + 5223
27 clang++                  0x000000010f54fac2
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) + 162
28 clang++                  0x000000010f54f9d4
clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*,
clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) + 596
29 clang++                  0x000000010f289ea6
clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool)
+ 1734
30 clang++                  0x000000010f6cfa74 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 228
31 clang++                  0x000000010f6b77bd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 1869
32 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
33 clang++                  0x000000010f6bc5af
clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList
const&, clang::SourceLocation, clang::DeclarationName) + 143
34 clang++                  0x000000010f5ca1c9
clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation,
clang::TemplateArgumentListInfo&) + 4137
35 clang++                  0x000000010f6d9154 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 2500
36 clang++                  0x000000010f6b8d4c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 7388
37 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
38 clang++                  0x000000010f6cf620 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr*)
+ 32
39 clang++                  0x000000010f6cf9cd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 61
40 clang++                  0x000000010f6b77bd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 1869
41 clang++                  0x000000010f6bcd10
clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) + 1824
42 clang++                  0x000000010f6ff8ab
clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 251
43 clang++                  0x000000010f6fc5ef
clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*,
clang::TemplateParameterList*,
llvm::Optional<clang::ASTTemplateArgumentListInfo const*>,
clang::TemplateDeclInstantiator::RewriteKind) + 799
44 clang++                  0x000000010f70c3d9 void llvm::function_ref<void
()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&)::$_0>(long) + 25
45 clang++                  0x000000010efbf07e
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) + 46
46 clang++                  0x000000010f706099
clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&) + 201
47 clang++                  0x000000010f6601f5
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 ()>) + 2453
48 clang++                  0x000000010f661d93
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>)>) + 2323
49 clang++                  0x000000010f53a741
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) +
577
50 clang++                  0x000000010f53af0a
clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType,
clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>,
clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) + 234
51 clang++                  0x000000010f558801
clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation) + 1169
52 clang++                  0x000000010f289fa7
clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool)
+ 1991
53 clang++                  0x000000010f6cfa74 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 228
54 clang++                  0x000000010f6b77bd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 1869
55 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
56 clang++                  0x000000010f6bc5af
clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList
const&, clang::SourceLocation, clang::DeclarationName) + 143
57 clang++                  0x000000010f5ca1c9
clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation,
clang::TemplateArgumentListInfo&) + 4137
58 clang++                  0x000000010f6d9154 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 2500
59 clang++                  0x000000010f6b8d4c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 7388
60 clang++                  0x000000010f6bcd10
clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) + 1824
61 clang++                  0x000000010f6ff8ab
clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 251
62 clang++                  0x000000010f6fc5ef
clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*,
clang::TemplateParameterList*,
llvm::Optional<clang::ASTTemplateArgumentListInfo const*>,
clang::TemplateDeclInstantiator::RewriteKind) + 799
63 clang++                  0x000000010f70c3d9 void llvm::function_ref<void
()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&)::$_0>(long) + 25
64 clang++                  0x000000010efbf07e
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) + 46
65 clang++                  0x000000010f706099
clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&) + 201
66 clang++                  0x000000010f6601f5
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 ()>) + 2453
67 clang++                  0x000000010f661d93
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>)>) + 2323
68 clang++                  0x000000010f53a741
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) +
577
69 clang++                  0x000000010f556c2c
clang::Sema::BuildCallToMemberFunction(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation) + 3532
70 clang++                  0x000000010f289fcb
clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool)
+ 2027
71 clang++                  0x000000010f6cfa74 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 228
72 clang++                  0x000000010f6b77bd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 1869
73 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
74 clang++                  0x000000010f6bc5af
clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList
const&, clang::SourceLocation, clang::DeclarationName) + 143
75 clang++                  0x000000010f5ca1c9
clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation,
clang::TemplateArgumentListInfo&) + 4137
76 clang++                  0x000000010f6d9154 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 2500
77 clang++                  0x000000010f6b8d4c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 7388
78 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
79 clang++                  0x000000010f6d9c81 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool) + 97
80 clang++                  0x000000010f6d89e1 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 593
81 clang++                  0x000000010f6b8d4c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 7388
82 clang++                  0x000000010f6b8e22 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 7602
83 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
84 clang++                  0x000000010f6d9c81 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool) + 97
85 clang++                  0x000000010f6c4da1 bool
clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArguments<clang::TemplateArgumentLoc
const*>(clang::TemplateArgumentLoc const*, clang::TemplateArgumentLoc const*,
clang::TemplateArgumentListInfo&, bool) + 481
86 clang++                  0x000000010f6be755
clang::Sema::Subst(clang::TemplateArgumentLoc const*, unsigned int,
clang::TemplateArgumentListInfo&, clang::MultiLevelTemplateArgumentList const&)
+ 85
87 clang++                  0x000000010f65e040
std::__1::enable_if<IsPartialSpecialization<clang::VarTemplatePartialSpecializationDecl>::value,
clang::Sema::TemplateDeductionResult>::type
FinishTemplateArgumentDeduction<clang::VarTemplatePartialSpecializationDecl>(clang::Sema&,
clang::VarTemplatePartialSpecializationDecl*, bool, clang::TemplateArgumentList
const&, llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&,
clang::sema::TemplateDeductionInfo&) + 1648
88 clang++                  0x000000010f65d920
clang::Sema::DeduceTemplateArguments(clang::VarTemplatePartialSpecializationDecl*,
clang::TemplateArgumentList const&, clang::sema::TemplateDeductionInfo&) + 1008
89 clang++                  0x000000010f5d2bf3
clang::Sema::CheckVarTemplateId(clang::VarTemplateDecl*, clang::SourceLocation,
clang::SourceLocation, clang::TemplateArgumentListInfo const&) + 755
90 clang++                  0x000000010f5d3b0a
clang::Sema::CheckVarTemplateId(clang::CXXScopeSpec const&,
clang::DeclarationNameInfo const&, clang::VarTemplateDecl*,
clang::SourceLocation, clang::TemplateArgumentListInfo const*) + 42
91 clang++                  0x000000010f5d42ca
clang::Sema::BuildTemplateIdExpr(clang::CXXScopeSpec const&,
clang::SourceLocation, clang::LookupResult&, bool,
clang::TemplateArgumentListInfo const*) + 314
92 clang++                  0x000000010f6d556b clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnresolvedLookupExpr(clang::UnresolvedLookupExpr*)
+ 1227
93 clang++                  0x000000010f6cba6e clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 110
94 clang++                  0x000000010f6e9666 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCondition(clang::SourceLocation,
clang::VarDecl*, clang::Expr*, clang::Sema::ConditionKind) + 150
95 clang++                  0x000000010f6e6354 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) + 148
96 clang++                  0x000000010f6e64e2 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) + 546
97 clang++                  0x000000010f6e09a6 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) + 534
98 clang++                  0x000000010f6c3d0f
clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList
const&) + 79
99 clang++                  0x000000010f7083c2
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool) + 3842
100 clang++                  0x000000010efbf07e
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) + 46
101 clang++                  0x000000010f666558
clang::Sema::DeduceReturnType(clang::FunctionDecl*, clang::SourceLocation,
bool) + 760
102 clang++                  0x000000010f2836d7
clang::Sema::DiagnoseUseOfDecl(clang::NamedDecl*,
llvm::ArrayRef<clang::SourceLocation>, clang::ObjCInterfaceDecl const*, bool,
bool, clang::ObjCInterfaceDecl*) + 5223
103 clang++                  0x000000010f54fac2
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) + 162
104 clang++                  0x000000010f54f9d4
clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*,
clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) + 596
105 clang++                  0x000000010f289ea6
clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool)
+ 1734
106 clang++                  0x000000010f6cfa74 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 228
107 clang++                  0x000000010f6b77bd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 1869
108 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
109 clang++                  0x000000010f6bc5af
clang::Sema::SubstType(clang::QualType, clang::MultiLevelTemplateArgumentList
const&, clang::SourceLocation, clang::DeclarationName) + 143
110 clang++                  0x000000010f5ca1c9
clang::Sema::CheckTemplateIdType(clang::TemplateName, clang::SourceLocation,
clang::TemplateArgumentListInfo&) + 4137
111 clang++                  0x000000010f6d9154 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 2500
112 clang++                  0x000000010f6b8d4c clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 7388
113 clang++                  0x000000010f6b6d67 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 199
114 clang++                  0x000000010f6cf620 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCXXUnresolvedConstructExpr(clang::CXXUnresolvedConstructExpr*)
+ 32
115 clang++                  0x000000010f6cf9cd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 61
116 clang++                  0x000000010f6b77bd clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 1869
117 clang++                  0x000000010f6bcd10
clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, clang::CXXRecordDecl*, clang::Qualifiers) + 1824
118 clang++                  0x000000010f6ff8ab
clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 251
119 clang++                  0x000000010f6fc5ef
clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*,
clang::TemplateParameterList*,
llvm::Optional<clang::ASTTemplateArgumentListInfo const*>,
clang::TemplateDeclInstantiator::RewriteKind) + 799
120 clang++                  0x000000010f70c3d9 void llvm::function_ref<void
()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&)::$_0>(long) + 25
121 clang++                  0x000000010efbf07e
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) + 46
122 clang++                  0x000000010f706099
clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&) + 201
123 clang++                  0x000000010f6601f5
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 ()>) + 2453
124 clang++                  0x000000010f661d93
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>)>) + 2323
125 clang++                  0x000000010f53a741
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) +
577
126 clang++                  0x000000010f53af0a
clang::Sema::AddMethodCandidate(clang::DeclAccessPair, clang::QualType,
clang::Expr::Classification, llvm::ArrayRef<clang::Expr*>,
clang::OverloadCandidateSet&, bool, clang::OverloadCandidateParamOrder) + 234
127 clang++                  0x000000010f558801
clang::Sema::BuildCallToObjectOfClassType(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation) + 1169
128 clang++                  0x000000010f289fa7
clang::Sema::BuildCallExpr(clang::Scope*, clang::Expr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool)
+ 1991
129 clang++                  0x000000010f6cfa74 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 228
130 clang++                  0x000000010f6c232a
clang::Sema::SubstInitializer(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&, bool) + 74
131 clang++                  0x000000010f704515
clang::Sema::InstantiateVariableInitializer(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&) + 341
132 clang++                  0x000000010f6f811a
clang::Sema::BuildVariableInstantiation(clang::VarDecl*, clang::VarDecl*,
clang::MultiLevelTemplateArgumentList const&,
llvm::SmallVector<clang::Sema::LateInstantiatedAttribute, 16u>*,
clang::DeclContext*, clang::LocalInstantiationScope*, bool,
clang::VarTemplateSpecializationDecl*) + 1818
133 clang++                  0x000000010f6f7879
clang::TemplateDeclInstantiator::VisitVarDecl(clang::VarDecl*, bool,
llvm::ArrayRef<clang::BindingDecl*>*) + 793
134 clang++                  0x000000010f70c3d9 void llvm::function_ref<void
()>::callback_fn<clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&)::$_0>(long) + 25
135 clang++                  0x000000010efbf07e
clang::Sema::runWithSufficientStackSpace(clang::SourceLocation,
llvm::function_ref<void ()>) + 46
136 clang++                  0x000000010f706099
clang::Sema::SubstDecl(clang::Decl*, clang::DeclContext*,
clang::MultiLevelTemplateArgumentList const&) + 201
137 clang++                  0x000000010f6e5dba clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDeclStmt(clang::DeclStmt*) + 122
138 clang++                  0x000000010f6e09a6 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) + 534
139 clang++                  0x000000010f6e64e2 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformIfStmt(clang::IfStmt*) + 546
140 clang++                  0x000000010f6e09a6 clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCompoundStmt(clang::CompoundStmt*,
bool) + 534
141 clang++                  0x000000010f6c3d0f
clang::Sema::SubstStmt(clang::Stmt*, clang::MultiLevelTemplateArgumentList
const&) + 79
142 clang++                  0x000000010f7083c2
clang::Sema::InstantiateFunctionDefinition(clang::SourceLocation,
clang::FunctionDecl*, bool, bool, bool) + 3842
143 clang++                  0x000000010f70ae31
clang::Sema::PerformPendingInstantiations(bool) + 609
144 clang++                  0x000000010efc0ca5
clang::Sema::ActOnEndOfTranslationUnitFragment(clang::Sema::TUFragmentKind) +
389
145 clang++                  0x000000010efc1c16
clang::Sema::ActOnEndOfTranslationUnit() + 246
146 clang++                  0x000000010ef280b7
clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&, bool)
+ 1799
147 clang++                  0x000000010ee6c1f7 clang::ParseAST(clang::Sema&,
bool, bool) + 535
148 clang++                  0x000000010e0d8eb3
clang::FrontendAction::Execute() + 163
149 clang++                  0x000000010e066345
clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) + 1749
150 clang++                  0x000000010e14fe76
clang::ExecuteCompilerInvocation(clang::CompilerInstance*) + 1830
151 clang++                  0x000000010b9996ed cc1_main(llvm::ArrayRef<char
const*>, char const*, void*) + 2477
152 clang++                  0x000000010b997339
ExecuteCC1Tool(llvm::SmallVectorImpl<char const*>&) + 345
153 clang++                  0x000000010deebd57 void llvm::function_ref<void
()>::callback_fn<clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >*, bool*) const::$_1>(long) + 23
154 clang++                  0x000000010d7f1a64
llvm::CrashRecoveryContext::RunSafely(llvm::function_ref<void ()>) + 228
155 clang++                  0x000000010deeb0f7
clang::driver::CC1Command::Execute(llvm::ArrayRef<llvm::Optional<llvm::StringRef>
>, std::__1::basic_string<char, std::__1::char_traits<char>,
std::__1::allocator<char> >*, bool*) const + 375
156 clang++                  0x000000010deb9b7f
clang::driver::Compilation::ExecuteCommand(clang::driver::Command const&,
clang::driver::Command const*&) const + 399
157 clang++                  0x000000010deb9fbc
clang::driver::Compilation::ExecuteJobs(clang::driver::JobList const&,
llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*> >&)
const + 124
158 clang++                  0x000000010ded2f5c
clang::driver::Driver::ExecuteCompilation(clang::driver::Compilation&,
llvm::SmallVectorImpl<std::__1::pair<int, clang::driver::Command const*> >&) +
396
159 clang++                  0x000000010b9969ff main + 10559
160 libdyld.dylib            0x00007fff684f52e5 start + 1
161 libdyld.dylib            0x000000000000000b start + 18446603338766134567
clang-11: error: clang frontend command failed due to signal (use -v to see
invocation)
clang version 11.0.0 (git at github.com:llvm/llvm-project.git
ed77efeff18c0c894c51d246a2e81b565ec71af9)
Target: x86_64-apple-darwin19.0.0
Thread model: posix
InstalledDir: /Users/eniebler/llvm-install/bin
clang-11: note: diagnostic msg: PLEASE submit a bug report to
https://bugs.llvm.org/ and include the crash backtrace, preprocessed source,
and associated run script.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20200410/28170468/attachment-0001.html>


More information about the llvm-bugs mailing list