balazske added a comment. LLDB probably does the import in other way. CTU test fails without the fix:
FAIL: Clang :: Analysis/ctu-main.cpp (540 of 15341) ******************** TEST 'Clang :: Analysis/ctu-main.cpp' FAILED ******************** Script: -- : 'RUN: at line 1'; rm -rf build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp && mkdir build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp : 'RUN: at line 2'; mkdir -p build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir : 'RUN: at line 3'; build/Release/bin/clang -cc1 -internal-isystem build/Release/lib/clang/10.0.0/include -nostdsysteminc -triple x86_64-pc-linux-gnu -emit-pch -o build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir/ctu-other.cpp.ast llvm-project/clang/test/Analysis/Inputs/ctu-other.cpp : 'RUN: at line 5'; build/Release/bin/clang -cc1 -internal-isystem build/Release/lib/clang/10.0.0/include -nostdsysteminc -triple x86_64-pc-linux-gnu -emit-pch -o build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir/ctu-chain.cpp.ast llvm-project/clang/test/Analysis/Inputs/ctu-chain.cpp : 'RUN: at line 7'; cp llvm-project/clang/test/Analysis/Inputs/ctu-other.cpp.externalDefMap.txt build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir/externalDefMap.txt : 'RUN: at line 8'; build/Release/bin/clang -cc1 -internal-isystem build/Release/lib/clang/10.0.0/include -nostdsysteminc -analyze -analyzer-constraints=range -triple x86_64-pc-linux-gnu -analyzer-checker=core,debug.ExprInspection -analyzer-config experimental-enable-naive-ctu-analysis=true -analyzer-config ctu-dir=build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir -verify llvm-project/clang/test/Analysis/ctu-main.cpp : 'RUN: at line 13'; build/Release/bin/clang -cc1 -internal-isystem build/Release/lib/clang/10.0.0/include -nostdsysteminc -analyze -analyzer-constraints=range -triple x86_64-pc-linux-gnu -analyzer-checker=core,debug.ExprInspection -analyzer-config experimental-enable-naive-ctu-analysis=true -analyzer-config ctu-dir=build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir -analyzer-config display-ctu-progress=true 2>&1 llvm-project/clang/test/Analysis/ctu-main.cpp | build/Release/bin/FileCheck llvm-project/clang/test/Analysis/ctu-main.cpp -- Exit Code: 134 Command Output (stderr): -- clang: llvm-project/clang/lib/AST/DeclBase.cpp:939: bool clang::Decl::AccessDeclContextSanity() const: Assertion `Access != AS_none && "Access specifier is AS_none inside a record decl"' failed. Stack dump: 0. Program arguments: build/Release/bin/clang -cc1 -internal-isystem build/Release/lib/clang/10.0.0/include -nostdsysteminc -analyze -analyzer-constraints=range -triple x86_64-pc-linux-gnu -analyzer-checker=core,debug.ExprInspection -analyzer-config experimental-enable-naive-ctu-analysis=true -analyzer-config ctu-dir=build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir -verify llvm-project/clang/test/Analysis/ctu-main.cpp 1. <eof> parser at end of file 2. While analyzing stack: #0 Calling main 3. llvm-project/clang/test/Analysis/ctu-main.cpp:164:23: Error evaluating statement 4. llvm-project/clang/test/Analysis/ctu-main.cpp:164:23: Error evaluating statement #0 0x00007f30c91a5efa llvm::sys::PrintStackTrace(llvm::raw_ostream&) (build/Release/lib/libLLVMSupport.so.10svn+0x191efa) #1 0x00007f30c91a3bd4 llvm::sys::RunSignalHandlers() (build/Release/lib/libLLVMSupport.so.10svn+0x18fbd4) #2 0x00007f30c91a3d12 SignalHandler(int) (build/Release/lib/libLLVMSupport.so.10svn+0x18fd12) #3 0x00007f30c6347f20 (/lib/x86_64-linux-gnu/libc.so.6+0x3ef20) #4 0x00007f30c6347e97 raise /build/glibc-OTsEL5/glibc-2.27/signal/../sysdeps/unix/sysv/linux/raise.c:51:0 #5 0x00007f30c6349801 abort /build/glibc-OTsEL5/glibc-2.27/stdlib/abort.c:81:0 #6 0x00007f30c633939a __assert_fail_base /build/glibc-OTsEL5/glibc-2.27/assert/assert.c:89:0 #7 0x00007f30c6339412 (/lib/x86_64-linux-gnu/libc.so.6+0x30412) #8 0x00007f30c24ad3fc (build/Release/lib/libclangAST.so.10svn+0x27c3fc) #9 0x00007f30c23c1f49 clang::Decl::getAccess() const (build/Release/lib/libclangAST.so.10svn+0x190f49) #10 0x00007f30c2309f32 IsStructurallyEquivalent(clang::StructuralEquivalenceContext&, clang::CXXMethodDecl*, clang::CXXMethodDecl*) (build/Release/lib/libclangAST.so.10svn+0xd8f32) #11 0x00007f30c243cda9 clang::StructuralEquivalenceContext::CheckKindSpecificEquivalence(clang::Decl*, clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x20bda9) #12 0x00007f30c243d046 clang::StructuralEquivalenceContext::Finish() (build/Release/lib/libclangAST.so.10svn+0x20c046) #13 0x00007f30c243da28 clang::StructuralEquivalenceContext::IsEquivalent(clang::Decl*, clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x20ca28) #14 0x00007f30c23c43fb clang::ASTNodeImporter::IsStructuralMatch(clang::FunctionDecl*, clang::FunctionDecl*) (build/Release/lib/libclangAST.so.10svn+0x1933fb) #15 0x00007f30c23d4689 clang::ASTNodeImporter::VisitFunctionDecl(clang::FunctionDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a3689) #16 0x00007f30c23d626d clang::ASTNodeImporter::VisitCXXMethodDecl(clang::CXXMethodDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a526d) #17 0x00007f30c23d62ad clang::ASTNodeImporter::VisitCXXConstructorDecl(clang::CXXConstructorDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a52ad) #18 0x00007f30c23d65d5 clang::declvisitor::Base<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Decl*> >::Visit(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a55d5) #19 0x00007f30c23d6a4b clang::ASTImporter::Import(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a5a4b) #20 0x00007f30c23dbec8 llvm::Expected<std::tuple<clang::CXXConstructorDecl*> > clang::ASTNodeImporter::importSeq<clang::CXXConstructorDecl*>(clang::CXXConstructorDecl* const&) (.isra.2408) (build/Release/lib/libclangAST.so.10svn+0x1aaec8) #21 0x00007f30c241537b clang::ASTNodeImporter::VisitCXXConstructExpr(clang::CXXConstructExpr*) (build/Release/lib/libclangAST.so.10svn+0x1e437b) #22 0x00007f30c23dcfbe clang::StmtVisitorBase<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Stmt*> >::Visit(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1abfbe) #23 0x00007f30c23dd3e7 clang::ASTImporter::Import(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac3e7) #24 0x00007f30c23e01e2 clang::ASTImporter::Import(clang::Expr*) (build/Release/lib/libclangAST.so.10svn+0x1af1e2) #25 0x00007f30c241db2e clang::ASTImporter::Import(clang::CXXCtorInitializer*) (build/Release/lib/libclangAST.so.10svn+0x1ecb2e) #26 0x00007f30c241e376 llvm::Error clang::ASTNodeImporter::ImportArrayChecked<clang::CXXCtorInitializer**, clang::CXXCtorInitializer**>(clang::CXXCtorInitializer**, clang::CXXCtorInitializer**, clang::CXXCtorInitializer**) (build/Release/lib/libclangAST.so.10svn+0x1ed376) #27 0x00007f30c23d5b6e clang::ASTNodeImporter::VisitFunctionDecl(clang::FunctionDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a4b6e) #28 0x00007f30c23d626d clang::ASTNodeImporter::VisitCXXMethodDecl(clang::CXXMethodDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a526d) #29 0x00007f30c23d62ad clang::ASTNodeImporter::VisitCXXConstructorDecl(clang::CXXConstructorDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a52ad) #30 0x00007f30c23d65d5 clang::declvisitor::Base<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Decl*> >::Visit(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a55d5) #31 0x00007f30c23d6a4b clang::ASTImporter::Import(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a5a4b) #32 0x00007f30c23d82b5 llvm::Expected<clang::Decl*> clang::ASTNodeImporter::import<clang::Decl>(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a72b5) #33 0x00007f30c24016df clang::ASTNodeImporter::ImportDeclContext(clang::DeclContext*, bool) (build/Release/lib/libclangAST.so.10svn+0x1d06df) #34 0x00007f30c2400f07 clang::ASTNodeImporter::ImportDefinition(clang::RecordDecl*, clang::RecordDecl*, clang::ASTNodeImporter::ImportDefinitionKind) (build/Release/lib/libclangAST.so.10svn+0x1cff07) #35 0x00007f30c240c2e9 clang::ASTNodeImporter::VisitRecordDecl(clang::RecordDecl*) (build/Release/lib/libclangAST.so.10svn+0x1db2e9) #36 0x00007f30c23d6415 clang::declvisitor::Base<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Decl*> >::Visit(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a5415) #37 0x00007f30c23d6a4b clang::ASTImporter::Import(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a5a4b) #38 0x00007f30c23d9657 clang::ASTNodeImporter::VisitRecordType(clang::RecordType const*) (build/Release/lib/libclangAST.so.10svn+0x1a8657) #39 0x00007f30c23e7ce5 clang::TypeVisitor<clang::ASTNodeImporter, llvm::Expected<clang::QualType> >::Visit(clang::Type const*) (build/Release/lib/libclangAST.so.10svn+0x1b6ce5) #40 0x00007f30c23e7ec1 clang::ASTImporter::Import(clang::QualType) (build/Release/lib/libclangAST.so.10svn+0x1b6ec1) #41 0x00007f30c23ebcd8 llvm::Expected<std::tuple<clang::QualType> > clang::ASTNodeImporter::importSeq<clang::QualType>(clang::QualType const&) (build/Release/lib/libclangAST.so.10svn+0x1bacd8) #42 0x00007f30c2411c8d clang::ASTNodeImporter::VisitVarDecl(clang::VarDecl*) (build/Release/lib/libclangAST.so.10svn+0x1e0c8d) #43 0x00007f30c23d63bd clang::declvisitor::Base<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Decl*> >::Visit(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a53bd) #44 0x00007f30c23d6a4b clang::ASTImporter::Import(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a5a4b) #45 0x00007f30c23d82b5 llvm::Expected<clang::Decl*> clang::ASTNodeImporter::import<clang::Decl>(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a72b5) #46 0x00007f30c23d83ff llvm::Expected<clang::DeclGroupRef> clang::ASTNodeImporter::import<clang::DeclGroupRef>(clang::DeclGroupRef const&) (build/Release/lib/libclangAST.so.10svn+0x1a73ff) #47 0x00007f30c23d8708 clang::ASTNodeImporter::VisitDeclStmt(clang::DeclStmt*) (build/Release/lib/libclangAST.so.10svn+0x1a7708) #48 0x00007f30c23dd1e0 clang::StmtVisitorBase<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Stmt*> >::Visit(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac1e0) #49 0x00007f30c23dd3e7 clang::ASTImporter::Import(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac3e7) #50 0x00007f30c23dd685 llvm::Expected<clang::Stmt*> clang::ASTNodeImporter::import<clang::Stmt>(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac685) #51 0x00007f30c23dd904 clang::ASTNodeImporter::VisitCompoundStmt(clang::CompoundStmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac904) #52 0x00007f30c23dd214 clang::StmtVisitorBase<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Stmt*> >::Visit(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac214) #53 0x00007f30c23dd3e7 clang::ASTImporter::Import(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac3e7) #54 0x00007f30c23dd685 llvm::Expected<clang::Stmt*> clang::ASTNodeImporter::import<clang::Stmt>(clang::Stmt*) (build/Release/lib/libclangAST.so.10svn+0x1ac685) #55 0x00007f30c23dd79f clang::ASTNodeImporter::ImportFunctionDeclBody(clang::FunctionDecl*, clang::FunctionDecl*) (build/Release/lib/libclangAST.so.10svn+0x1ac79f) #56 0x00007f30c23d596b clang::ASTNodeImporter::VisitFunctionDecl(clang::FunctionDecl*) (build/Release/lib/libclangAST.so.10svn+0x1a496b) #57 0x00007f30c23d63e5 clang::declvisitor::Base<std::add_pointer, clang::ASTNodeImporter, llvm::Expected<clang::Decl*> >::Visit(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a53e5) #58 0x00007f30c23d6a4b clang::ASTImporter::Import(clang::Decl*) (build/Release/lib/libclangAST.so.10svn+0x1a5a4b) #59 0x00007f30be7a7e6d clang::cross_tu::CrossTranslationUnitContext::importDefinition(clang::FunctionDecl const*, clang::ASTUnit*) (build/Release/lib/libclangCrossTU.so.10svn+0xde6d) #60 0x00007f30be7a8501 clang::cross_tu::CrossTranslationUnitContext::getCrossTUDefinition(clang::FunctionDecl const*, llvm::StringRef, llvm::StringRef, bool) (build/Release/lib/libclangCrossTU.so.10svn+0xe501) #61 0x00007f30bdd0c985 clang::ento::AnyFunctionCall::getRuntimeDefinition() const (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xaf985) #62 0x00007f30bdd7479b clang::ento::ExprEngine::defaultEvalCall(clang::ento::NodeBuilder&, clang::ento::ExplodedNode*, clang::ento::CallEvent const&, clang::ento::ExprEngine::EvalCallOptions const&) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0x11779b) #63 0x00007f30bdd1a0c9 clang::ento::CheckerManager::runCheckersForEvalCall(clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNodeSet const&, clang::ento::CallEvent const&, clang::ento::ExprEngine&) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xbd0c9) #64 0x00007f30bdd70ebf clang::ento::ExprEngine::evalCall(clang::ento::ExplodedNodeSet&, clang::ento::ExplodedNode*, clang::ento::CallEvent const&) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0x113ebf) #65 0x00007f30bdd711f8 clang::ento::ExprEngine::VisitCallExpr(clang::CallExpr const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0x1141f8) #66 0x00007f30bdd5598d clang::ento::ExprEngine::Visit(clang::Stmt const*, clang::ento::ExplodedNode*, clang::ento::ExplodedNodeSet&) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xf898d) #67 0x00007f30bdd56594 clang::ento::ExprEngine::ProcessStmt(clang::Stmt const*, clang::ento::ExplodedNode*) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xf9594) #68 0x00007f30bdd56782 clang::ento::ExprEngine::processCFGElement(clang::CFGElement, clang::ento::ExplodedNode*, unsigned int, clang::ento::NodeBuilderContext*) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xf9782) #69 0x00007f30bdd23cbb clang::ento::CoreEngine::HandlePostStmt(clang::CFGBlock const*, unsigned int, clang::ento::ExplodedNode*) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xc6cbb) #70 0x00007f30bdd23f27 clang::ento::CoreEngine::dispatchWorkItem(clang::ento::ExplodedNode*, clang::ProgramPoint, clang::ento::WorkListUnit const&) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xc6f27) #71 0x00007f30bdd241a4 clang::ento::CoreEngine::ExecuteWorkList(clang::LocationContext const*, unsigned int, llvm::IntrusiveRefCntPtr<clang::ento::ProgramState const>) (build/Release/lib/libclangStaticAnalyzerCore.so.10svn+0xc71a4) #72 0x00007f30bf3e9339 (anonymous namespace)::AnalysisConsumer::HandleCode(clang::Decl*, unsigned int, clang::ento::ExprEngine::InliningModes, llvm::DenseSet<clang::Decl const*, llvm::DenseMapInfo<clang::Decl const*> >*) (build/Release/lib/libclangStaticAnalyzerFrontend.so.10svn+0x2f339) #73 0x00007f30bf3f8868 (anonymous namespace)::AnalysisConsumer::runAnalysisOnTranslationUnit(clang::ASTContext&) (build/Release/lib/libclangStaticAnalyzerFrontend.so.10svn+0x3e868) #74 0x00007f30bf3f963b (anonymous namespace)::AnalysisConsumer::HandleTranslationUnit(clang::ASTContext&) (build/Release/lib/libclangStaticAnalyzerFrontend.so.10svn+0x3f63b) #75 0x00007f30c0da3e49 clang::ParseAST(clang::Sema&, bool, bool) (build/Release/lib/libclangParse.so.10svn+0x2fe49) #76 0x00007f30c71c23a9 clang::FrontendAction::Execute() (build/Release/lib/libclangFrontend.so.10svn+0xf83a9) #77 0x00007f30c717cab1 clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) (build/Release/lib/libclangFrontend.so.10svn+0xb2ab1) #78 0x00007f30c6ec784f clang::ExecuteCompilerInvocation(clang::CompilerInstance*) (build/Release/lib/libclangFrontendTool.so.10svn+0x484f) #79 0x0000557bea4109cf cc1_main(llvm::ArrayRef<char const*>, char const*, void*) (build/Release/bin/clang+0x129cf) #80 0x0000557bea40b3c9 main (build/Release/bin/clang+0xd3c9) #81 0x00007f30c632ab97 __libc_start_main /build/glibc-OTsEL5/glibc-2.27/csu/../csu/libc-start.c:344:0 #82 0x0000557bea40c1ba _start (build/Release/bin/clang+0xe1ba) build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.script: line 7: 12535 Aborted (core dumped) build/Release/bin/clang -cc1 -internal-isystem build/Release/lib/clang/10.0.0/include -nostdsysteminc -analyze -analyzer-constraints=range -triple x86_64-pc-linux-gnu -analyzer-checker=core,debug.ExprInspection -analyzer-config experimental-enable-naive-ctu-analysis=true -analyzer-config ctu-dir=build/Release/tools/clang/test/Analysis/Output/ctu-main.cpp.tmp/ctudir -verify llvm-project/clang/test/Analysis/ctu-main.cpp Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65935/new/ https://reviews.llvm.org/D65935 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits