[llvm-bugs] [Bug 43756] New: SIGSEGV in clang::ASTContext::getTypeInfo

via llvm-bugs llvm-bugs at lists.llvm.org
Mon Oct 21 19:24:10 PDT 2019


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

            Bug ID: 43756
           Summary: SIGSEGV in clang::ASTContext::getTypeInfo
           Product: clang-tools-extra
           Version: unspecified
          Hardware: Macintosh
                OS: MacOS X
            Status: NEW
          Severity: normal
          Priority: P
         Component: clangd
          Assignee: unassignedclangbugs at nondot.org
          Reporter: swyj911 at 163.com
                CC: llvm-bugs at lists.llvm.org

Hi,

Clangd crashed when works as lsp server for coc.nvim on Mac OS, backtrace as
below
I found it's same with 20608, https://bugs.llvm.org/show_bug.cgi?id=20608
but it still has no conclusion, and it's a long long ago issue. So I report a
new one.
I have tried llvm+clang-9.0.0 problem still there.

  * frame #0: 0x000000010653fb85
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 21
    frame #1: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010
    frame #2: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #3: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010
    frame #4: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #5: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010
    frame #6: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #7: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010
    frame #8: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #9: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010

=================endless loop

    frame #7033: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010
    frame #7034: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #7035: 0x000000010653f7b2
clangd`clang::ASTContext::getPreferredTypeAlign(clang::Type const*) const + 162
    frame #7036: 0x000000010669784d clangd`GetAlignOfType((anonymous
namespace)::EvalInfo&, clang::QualType) + 205
    frame #7037: 0x0000000106679eab
clangd`clang::StmtVisitorBase<clang::make_const_ptr, (anonymous
namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) + 6939
    frame #7038: 0x0000000106659e40 clangd`Evaluate(clang::APValue&, (anonymous
namespace)::EvalInfo&, clang::Expr const*) + 448
    frame #7039: 0x000000010665887a clangd`EvaluateAsRValue((anonymous
namespace)::EvalInfo&, clang::Expr const*, clang::APValue&) + 74
    frame #7040: 0x0000000106658589
clangd`clang::Expr::EvaluateAsRValue(clang::Expr::EvalResult&,
clang::ASTContext const&) const + 457
    frame #7041: 0x000000010665b7fa
clangd`clang::Expr::EvaluateKnownConstInt(clang::ASTContext const&,
llvm::SmallVectorImpl<std::__1::pair<clang::SourceLocation,
clang::PartialDiagnostic> >*) const + 58
    frame #7042: 0x00000001065b677e
clangd`clang::AlignedAttr::getAlignment(clang::ASTContext&) const + 46
    frame #7043: 0x000000010660c558 clangd`clang::Decl::getMaxAlignment() const
+ 232
    frame #7044: 0x000000010670498a clangd`(anonymous
namespace)::ItaniumRecordLayoutBuilder::LayoutField(clang::FieldDecl const*,
bool) + 2746
    frame #7045: 0x00000001067008e5 clangd`(anonymous
namespace)::ItaniumRecordLayoutBuilder::LayoutFields(clang::RecordDecl const*)
+ 229
    frame #7046: 0x00000001066f9ca8
clangd`clang::ASTContext::getASTRecordLayout(clang::RecordDecl const*) const +
4840
    frame #7047: 0x000000010653f06f
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1391
    frame #7048: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #7049: 0x000000010653eef2
clangd`clang::ASTContext::getTypeInfoImpl(clang::Type const*) const + 1010
    frame #7050: 0x000000010653fc23
clangd`clang::ASTContext::getTypeInfo(clang::Type const*) const + 179
    frame #7051: 0x000000010653fb0b
clangd`clang::ASTContext::getTypeInfoInChars(clang::Type const*) const + 123
    frame #7052: 0x000000010666cac3 clangd`HandleSizeof((anonymous
namespace)::EvalInfo&, clang::SourceLocation, clang::QualType,
clang::CharUnits&) + 99
    frame #7053: 0x000000010667a46a
clangd`clang::StmtVisitorBase<clang::make_const_ptr, (anonymous
namespace)::IntExprEvaluator, bool>::Visit(clang::Stmt const*) + 8410
    frame #7054: 0x0000000106659e40 clangd`Evaluate(clang::APValue&, (anonymous
namespace)::EvalInfo&, clang::Expr const*) + 448
    frame #7055: 0x000000010665887a clangd`EvaluateAsRValue((anonymous
namespace)::EvalInfo&, clang::Expr const*, clang::APValue&) + 74
    frame #7056: 0x000000010665d436
clangd`clang::Expr::isCXX11ConstantExpr(clang::ASTContext const&,
clang::APValue*, clang::SourceLocation*) const + 518
    frame #7057: 0x000000010665d13c
clangd`clang::Expr::isIntegerConstantExpr(llvm::APSInt&, clang::ASTContext
const&, clang::SourceLocation*, bool) const + 172
    frame #7058: 0x0000000105f6f204
clangd`clang::StandardConversionSequence::getNarrowingKind(clang::ASTContext&,
clang::Expr const*, clang::APValue&, clang::QualType&, bool) const + 468
    frame #7059: 0x0000000105f7a98f
clangd`CheckConvertedConstantExpression(clang::Sema&, clang::Expr*,
clang::QualType, clang::APValue&, clang::Sema::CCEKind, bool) + 1551
    frame #7060: 0x0000000105f7b332
clangd`clang::Sema::CheckConvertedConstantExpression(clang::Expr*,
clang::QualType, llvm::APSInt&, clang::Sema::CCEKind) + 50
    frame #7061: 0x0000000105febfa9
clangd`clang::Sema::CheckTemplateArgument(clang::NonTypeTemplateParmDecl*,
clang::QualType, clang::Expr*, clang::TemplateArgument&,
clang::Sema::CheckTemplateArgumentKind) + 2425
    frame #7062: 0x0000000106003048
clangd`clang::Sema::CheckTemplateArgument(clang::NamedDecl*,
clang::TemplateArgumentLoc&, clang::NamedDecl*, clang::SourceLocation,
clang::SourceLocation, unsigned int,
llvm::SmallVectorImpl<clang::TemplateArgument>&,
clang::Sema::CheckTemplateArgumentKind) + 1960
    frame #7063: 0x0000000105ff7336
clangd`clang::Sema::CheckTemplateArgumentList(clang::TemplateDecl*,
clang::SourceLocation, clang::TemplateArgumentListInfo&, bool,
llvm::SmallVectorImpl<clang::TemplateArgument>&, bool) + 1206
    frame #7064: 0x0000000105ff59b8
clangd`clang::Sema::CheckTemplateIdType(clang::TemplateName,
clang::SourceLocation, clang::TemplateArgumentListInfo&) + 392
    frame #7065: 0x00000001060b4ca8 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 3096
    frame #7066: 0x000000010609af26 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 806
    frame #7067: 0x000000010609a94f clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 191
    frame #7068: 0x000000010609eb96
clangd`clang::Sema::SubstType(clang::QualType,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName) + 118
    frame #7069: 0x00000001060687e3
clangd`clang::Sema::SubstituteExplicitTemplateArguments(clang::FunctionTemplateDecl*,
clang::TemplateArgumentListInfo&,
llvm::SmallVectorImpl<clang::DeducedTemplateArgument>&,
llvm::SmallVectorImpl<clang::QualType>&, clang::QualType*,
clang::sema::TemplateDeductionInfo&) + 1747
    frame #7070: 0x000000010606aacf
clangd`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>)>) + 671
    frame #7071: 0x0000000105f81282
clangd`clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) + 514
    frame #7072: 0x0000000105f9384a
clangd`AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair,
clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>,
clang::OverloadCandidateSet&, bool, bool) + 298
    frame #7073: 0x0000000105f936a1
clangd`clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) + 225
    frame #7074: 0x0000000105f938ec
clangd`clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*,
clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::OverloadCandidateSet*,
clang::ActionResult<clang::Expr*, true>*) + 140
    frame #7075: 0x0000000105f93bfe
clangd`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*,
clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) + 318
    frame #7076: 0x0000000105dba0df
clangd`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool) + 879
    frame #7077: 0x00000001060ad976 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformCallExpr(clang::CallExpr*) + 198
    frame #7078: 0x00000001060b1c86 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*) + 22
    frame #7079: 0x00000001060b35f4 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformUnaryExprOrTypeTraitExpr(clang::UnaryExprOrTypeTraitExpr*)
+ 308
    frame #7080: 0x00000001060aaf5d clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 29
    frame #7081: 0x00000001060b1c86 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*) + 22
    frame #7082: 0x00000001060aaf72 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 50
    frame #7083: 0x00000001060b5ca5 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool) + 213
    frame #7084: 0x00000001060b4940 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 2224
    frame #7085: 0x000000010609af26 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 806
    frame #7086: 0x000000010609a94f clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 191
    frame #7087: 0x00000001060a2388
clangd`clang::Sema::SubstBaseSpecifiers(clang::CXXRecordDecl*,
clang::CXXRecordDecl*, clang::MultiLevelTemplateArgumentList const&) + 1208
    frame #7088: 0x00000001060a2974
clangd`clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool) + 1092
    frame #7089: 0x00000001060a44be
clangd`clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) + 270
    frame #7090: 0x000000010610c7c0
clangd`clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser*) + 1664
    frame #7091: 0x000000010610c032
clangd`clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser&) + 18
    frame #7092: 0x0000000105b5fa22
clangd`clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) + 290
    frame #7093: 0x0000000105dc2065
clangd`clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&,
clang::DeclarationNameInfo const&, bool, clang::Scope const*,
clang::TypeSourceInfo**) + 85
    frame #7094: 0x00000001060b6dfb clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) + 411
    frame #7095: 0x00000001060aaf5d clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 29
    frame #7096: 0x00000001060aaf5d clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 29
    frame #7097: 0x00000001060a09e5 clangd`clang::Sema::SubstExpr(clang::Expr*,
clang::MultiLevelTemplateArgumentList const&) + 69
    frame #7098: 0x00000001060cabe6
clangd`clang::TemplateDeclInstantiator::VisitStaticAssertDecl(clang::StaticAssertDecl*)
+ 70
    frame #7099: 0x00000001060a2a8b
clangd`clang::Sema::InstantiateClass(clang::SourceLocation,
clang::CXXRecordDecl*, clang::CXXRecordDecl*,
clang::MultiLevelTemplateArgumentList const&,
clang::TemplateSpecializationKind, bool) + 1371
    frame #7100: 0x00000001060a44be
clangd`clang::Sema::InstantiateClassTemplateSpecialization(clang::SourceLocation,
clang::ClassTemplateSpecializationDecl*, clang::TemplateSpecializationKind,
bool) + 270
    frame #7101: 0x000000010610c7c0
clangd`clang::Sema::RequireCompleteTypeImpl(clang::SourceLocation,
clang::QualType, clang::Sema::TypeDiagnoser*) + 1664
    frame #7102: 0x000000010610c032
clangd`clang::Sema::RequireCompleteType(clang::SourceLocation, clang::QualType,
clang::Sema::TypeDiagnoser&) + 18
    frame #7103: 0x0000000105b5fa22
clangd`clang::Sema::RequireCompleteDeclContext(clang::CXXScopeSpec&,
clang::DeclContext*) + 290
    frame #7104: 0x0000000105dc2065
clangd`clang::Sema::BuildQualifiedDeclarationNameExpr(clang::CXXScopeSpec&,
clang::DeclarationNameInfo const&, bool, clang::Scope const*,
clang::TypeSourceInfo**) + 85
    frame #7105: 0x00000001060b6dfb clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentScopeDeclRefExpr(clang::DependentScopeDeclRefExpr*,
bool, clang::TypeSourceInfo**) + 411
    frame #7106: 0x00000001060aaf72 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 50
    frame #7107: 0x00000001060b1c86 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformParenExpr(clang::ParenExpr*) + 22
    frame #7108: 0x00000001060aaf5d clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 29
    frame #7109: 0x00000001060aaf5d clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformBinaryOperator(clang::BinaryOperator*)
+ 29
    frame #7110: 0x00000001060b5ca5 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateArgument(clang::TemplateArgumentLoc
const&, clang::TemplateArgumentLoc&, bool) + 213
    frame #7111: 0x00000001060b4940 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTemplateSpecializationType(clang::TypeLocBuilder&,
clang::TemplateSpecializationTypeLoc, clang::TemplateName) + 2224
    frame #7112: 0x00000001060b3ad5 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformTSIInObjectScope(clang::TypeLoc,
clang::QualType, clang::NamedDecl*, clang::CXXScopeSpec&) + 197
    frame #7113: 0x00000001060a86d6 clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformNestedNameSpecifierLoc(clang::NestedNameSpecifierLoc,
clang::QualType, clang::NamedDecl*) + 374
    frame #7114: 0x00000001060b936a clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformDependentNameType(clang::TypeLocBuilder&,
clang::DependentNameTypeLoc, bool) + 58
    frame #7115: 0x000000010609b69b clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeLocBuilder&,
clang::TypeLoc) + 2715
    frame #7116: 0x000000010609a94f clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformType(clang::TypeSourceInfo*) + 191
    frame #7117: 0x00000001060a007d
clangd`clang::Sema::SubstParmVarDecl(clang::ParmVarDecl*,
clang::MultiLevelTemplateArgumentList const&, int, llvm::Optional<unsigned
int>, bool) + 221
    frame #7118: 0x00000001060a155a clangd`clang::TreeTransform<(anonymous
namespace)::TemplateInstantiator>::TransformFunctionTypeParams(clang::SourceLocation,
llvm::ArrayRef<clang::ParmVarDecl*>, clang::QualType const*,
clang::FunctionProtoType::ExtParameterInfo const*,
llvm::SmallVectorImpl<clang::QualType>&,
llvm::SmallVectorImpl<clang::ParmVarDecl*>*,
clang::Sema::ExtParameterInfoBuilder&) + 1946
    frame #7119: 0x000000010609f275
clangd`clang::Sema::SubstFunctionDeclType(clang::TypeSourceInfo*,
clang::MultiLevelTemplateArgumentList const&, clang::SourceLocation,
clang::DeclarationName, clang::CXXRecordDecl*, unsigned int) + 1701
    frame #7120: 0x00000001060d0a6f
clangd`clang::TemplateDeclInstantiator::SubstFunctionType(clang::FunctionDecl*,
llvm::SmallVectorImpl<clang::ParmVarDecl*>&) + 191
    frame #7121: 0x00000001060cdf8a
clangd`clang::TemplateDeclInstantiator::VisitCXXMethodDecl(clang::CXXMethodDecl*,
clang::TemplateParameterList*, bool) + 618
    frame #7122: 0x00000001060d5c86 clangd`clang::Sema::SubstDecl(clang::Decl*,
clang::DeclContext*, clang::MultiLevelTemplateArgumentList const&) + 150
    frame #7123: 0x000000010606984a
clangd`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 ()>) + 2282
    frame #7124: 0x000000010606b18c
clangd`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>)>) + 2396
    frame #7125: 0x0000000105f81282
clangd`clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) + 514
    frame #7126: 0x0000000105f76af8
clangd`IsUserDefinedConversion(clang::Sema&, clang::Expr*, clang::QualType,
clang::UserDefinedConversionSequence&, clang::OverloadCandidateSet&, bool,
bool) + 2776
    frame #7127: 0x0000000105f9f1ff
clangd`TryUserDefinedConversion(clang::Sema&, clang::Expr*, clang::QualType,
bool, bool, bool, bool, bool, bool) + 415
    frame #7128: 0x0000000105f711ec clangd`TryImplicitConversion(clang::Sema&,
clang::Expr*, clang::QualType, bool, bool, bool, bool, bool, bool) + 652
    frame #7129: 0x0000000105fa1077 clangd`TryReferenceInit(clang::Sema&,
clang::Expr*, clang::QualType, clang::SourceLocation, bool, bool) + 1751
    frame #7130: 0x0000000105f7e903 clangd`TryCopyInitialization(clang::Sema&,
clang::Expr*, clang::QualType, bool, bool, bool, bool) + 163
    frame #7131: 0x0000000105f81788
clangd`clang::Sema::CheckNonDependentConversions(clang::FunctionTemplateDecl*,
llvm::ArrayRef<clang::QualType>, llvm::ArrayRef<clang::Expr*>,
clang::OverloadCandidateSet&,
llvm::MutableArrayRef<clang::ImplicitConversionSequence>&, bool,
clang::CXXRecordDecl*, clang::QualType, clang::Expr::Classification) + 632
    frame #7132: 0x0000000105fa88b5 clangd`bool llvm::function_ref<bool
(llvm::ArrayRef<clang::QualType>)>::callback_fn<clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool,
bool)::$_3>(long, llvm::ArrayRef<clang::QualType>) + 69
    frame #7133: 0x00000001060970a2 clangd`bool llvm::function_ref<bool
()>::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>)>)::$_1>(long) + 82
    frame #7134: 0x000000010606976b
clangd`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 ()>) + 2059
    frame #7135: 0x000000010606b18c
clangd`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>)>) + 2396
    frame #7136: 0x0000000105f81282
clangd`clang::Sema::AddTemplateOverloadCandidate(clang::FunctionTemplateDecl*,
clang::DeclAccessPair, clang::TemplateArgumentListInfo*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool, bool) + 514
    frame #7137: 0x0000000105f9384a
clangd`AddOverloadedCallCandidate(clang::Sema&, clang::DeclAccessPair,
clang::TemplateArgumentListInfo*, llvm::ArrayRef<clang::Expr*>,
clang::OverloadCandidateSet&, bool, bool) + 298
    frame #7138: 0x0000000105f936a1
clangd`clang::Sema::AddOverloadedCallCandidates(clang::UnresolvedLookupExpr*,
llvm::ArrayRef<clang::Expr*>, clang::OverloadCandidateSet&, bool) + 225
    frame #7139: 0x0000000105f938ec
clangd`clang::Sema::buildOverloadedCallSet(clang::Scope*, clang::Expr*,
clang::UnresolvedLookupExpr*, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::OverloadCandidateSet*,
clang::ActionResult<clang::Expr*, true>*) + 140
    frame #7140: 0x0000000105f93bfe
clangd`clang::Sema::BuildOverloadedCallExpr(clang::Scope*, clang::Expr*,
clang::UnresolvedLookupExpr*, clang::SourceLocation,
llvm::MutableArrayRef<clang::Expr*>, clang::SourceLocation, clang::Expr*, bool,
bool) + 318
    frame #7141: 0x0000000105dba0df
clangd`clang::Sema::ActOnCallExpr(clang::Scope*, clang::Expr*,
clang::SourceLocation, llvm::MutableArrayRef<clang::Expr*>,
clang::SourceLocation, clang::Expr*, bool) + 879
    frame #7142: 0x00000001062f2a20
clangd`clang::Parser::ParsePostfixExpressionSuffix(clang::ActionResult<clang::Expr*,
true>) + 2848
    frame #7143: 0x00000001062f5568
clangd`clang::Parser::ParseCastExpression(bool, bool, bool&,
clang::Parser::TypeCastState, bool) + 7352
    frame #7144: 0x00000001062f09c4
clangd`clang::Parser::ParseAssignmentExpression(clang::Parser::TypeCastState) +
164
    frame #7145: 0x00000001062f08fe
clangd`clang::Parser::ParseExpression(clang::Parser::TypeCastState) + 14
    frame #7146: 0x000000010633ba9f clangd`clang::Parser::ParseExprStatement()
+ 63
    frame #7147: 0x0000000106339fc2
clangd`clang::Parser::ParseStatementOrDeclarationAfterAttributes(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*,
clang::Parser::ParsedAttributesWithRange&) + 978
    frame #7148: 0x0000000106339a94
clangd`clang::Parser::ParseStatementOrDeclaration(llvm::SmallVector<clang::Stmt*,
32u>&, clang::Parser::AllowedConstructsKind, clang::SourceLocation*) + 196
    frame #7149: 0x0000000106340ce5
clangd`clang::Parser::ParseCompoundStatementBody(bool) + 1701
    frame #7150: 0x00000001063416a1
clangd`clang::Parser::ParseFunctionStatementBody(clang::Decl*,
clang::Parser::ParseScope&) + 161
    frame #7151: 0x00000001063592f9
clangd`clang::Parser::ParseFunctionDefinition(clang::ParsingDeclarator&,
clang::Parser::ParsedTemplateInfo const&, clang::Parser::LateParsedAttrList*) +
3881
    frame #7152: 0x00000001062cb069
clangd`clang::Parser::ParseDeclGroup(clang::ParsingDeclSpec&,
clang::DeclaratorContext, clang::SourceLocation*, clang::Parser::ForRangeInit*)
+ 1913
    frame #7153: 0x0000000106358094
clangd`clang::Parser::ParseDeclOrFunctionDefInternal(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec&, clang::AccessSpecifier) + 756
    frame #7154: 0x0000000106357bd2
clangd`clang::Parser::ParseDeclarationOrFunctionDefinition(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*, clang::AccessSpecifier) + 610
    frame #7155: 0x00000001063559a8
clangd`clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 888
    frame #7156: 0x00000001062de369
clangd`clang::Parser::ParseInnerNamespace(std::__1::vector<clang::SourceLocation,
std::__1::allocator<clang::SourceLocation> >&,
std::__1::vector<clang::IdentifierInfo*,
std::__1::allocator<clang::IdentifierInfo*> >&,
std::__1::vector<clang::SourceLocation,
std::__1::allocator<clang::SourceLocation> >&, unsigned int,
clang::SourceLocation&, clang::ParsedAttributes&,
clang::BalancedDelimiterTracker&) + 265
    frame #7157: 0x00000001062ddee3
clangd`clang::Parser::ParseNamespace(clang::DeclaratorContext,
clang::SourceLocation&, clang::SourceLocation) + 5987
    frame #7158: 0x00000001062c67a3
clangd`clang::Parser::ParseDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 1011
    frame #7159: 0x00000001063556f4
clangd`clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 196
    frame #7160: 0x00000001062de369
clangd`clang::Parser::ParseInnerNamespace(std::__1::vector<clang::SourceLocation,
std::__1::allocator<clang::SourceLocation> >&,
std::__1::vector<clang::IdentifierInfo*,
std::__1::allocator<clang::IdentifierInfo*> >&,
std::__1::vector<clang::SourceLocation,
std::__1::allocator<clang::SourceLocation> >&, unsigned int,
clang::SourceLocation&, clang::ParsedAttributes&,
clang::BalancedDelimiterTracker&) + 265
    frame #7161: 0x00000001062ddee3
clangd`clang::Parser::ParseNamespace(clang::DeclaratorContext,
clang::SourceLocation&, clang::SourceLocation) + 5987
    frame #7162: 0x00000001062c67a3
clangd`clang::Parser::ParseDeclaration(clang::DeclaratorContext,
clang::SourceLocation&, clang::Parser::ParsedAttributesWithRange&) + 1011
    frame #7163: 0x00000001063556f4
clangd`clang::Parser::ParseExternalDeclaration(clang::Parser::ParsedAttributesWithRange&,
clang::ParsingDeclSpec*) + 196
    frame #7164: 0x0000000106355102
clangd`clang::Parser::ParseTopLevelDecl(clang::OpaquePtr<clang::DeclGroupRef>&)
+ 754
    frame #7165: 0x00000001062b7b25 clangd`clang::ParseAST(clang::Sema&, bool,
bool) + 469
    frame #7166: 0x0000000105ab8041 clangd`clang::FrontendAction::Execute() +
129
    frame #7167: 0x000000010598aac5
clangd`clang::clangd::ParsedAST::build(std::__1::unique_ptr<clang::CompilerInvocation,
std::__1::default_delete<clang::CompilerInvocation> >,
std::__1::shared_ptr<clang::clangd::PreambleData const>,
std::__1::unique_ptr<llvm::MemoryBuffer,
std::__1::default_delete<llvm::MemoryBuffer> >,
std::__1::shared_ptr<clang::PCHContainerOperations>,
llvm::IntrusiveRefCntPtr<clang::vfs::FileSystem>) + 1349
    frame #7168: 0x000000010598cad7
clangd`clang::clangd::buildAST(llvm::StringRef,
std::__1::unique_ptr<clang::CompilerInvocation,
std::__1::default_delete<clang::CompilerInvocation> >,
clang::clangd::ParseInputs const&,
std::__1::shared_ptr<clang::clangd::PreambleData const>,
std::__1::shared_ptr<clang::PCHContainerOperations>) + 503
    frame #7169: 0x00000001059cbe7a clangd`void llvm::unique_function<void
()>::CallImpl<clang::clangd::ForwardBinder<clang::clangd::(anonymous
namespace)::ASTWorker::update(clang::clangd::ParseInputs,
clang::clangd::WantDiagnostics, llvm::unique_function<void
(std::__1::vector<clang::clangd::Diag, std::__1::allocator<clang::clangd::Diag>
>)>)::$_0, llvm::unique_function<void (std::__1::vector<clang::clangd::Diag,
std::__1::allocator<clang::clangd::Diag> >)> > >(void*) + 2442
    frame #7170: 0x00000001059c966b clangd`void llvm::unique_function<void
()>::CallImpl<clang::clangd::(anonymous
namespace)::ASTWorker::create(llvm::StringRef,
clang::clangd::TUScheduler::ASTCache&, clang::clangd::AsyncTaskRunner*,
clang::clangd::Semaphore&, std::__1::chrono::duration<long long,
std::__1::ratio<1l, 1000000000l> >,
std::__1::shared_ptr<clang::PCHContainerOperations>, bool,
std::__1::function<void (llvm::StringRef, clang::ASTContext&,
std::__1::shared_ptr<clang::Preprocessor>)>)::$_3>(void*) + 1995
    frame #7171: 0x00000001059c319e clangd`void*
std::__1::__thread_proxy<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct,
std::__1::default_delete<std::__1::__thread_struct> >,
clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine const&,
llvm::unique_function<void ()>)::$_4, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> >,
llvm::unique_function<void ()>,
llvm::detail::scope_exit<clang::clangd::AsyncTaskRunner::runAsync(llvm::Twine
const&, llvm::unique_function<void ()>)::$_0> > >(void*) + 238
    frame #7172: 0x00007fff692cc2eb libsystem_pthread.dylib`_pthread_body + 126
    frame #7173: 0x00007fff692cf249 libsystem_pthread.dylib`_pthread_start + 66
    frame #7174: 0x00007fff692cb40d libsystem_pthread.dylib`thread_start + 13

-- 
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/20191022/841a5c4e/attachment-0001.html>


More information about the llvm-bugs mailing list