Date: Wed, 22 Jan 2020 21:31:49 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r356998 - in projects/clang1000-import/contrib/llvm-project/clang: include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/Analysis include/clang/Basic i... Message-ID: <202001222131.00MLVnL4090075@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Wed Jan 22 21:31:48 2020 New Revision: 356998 URL: https://svnweb.freebsd.org/changeset/base/356998 Log: Merge ^/vendor/clang/dist up to its last change, and resolve conflicts. Added: projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h - copied unchanged from r356992, vendor/clang/dist/include/clang-c/FatalErrorHandler.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def - copied unchanged from r356992, vendor/clang/dist/include/clang/AST/CXXRecordDeclDefinitionBits.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/OptionalDiagnostic.h - copied unchanged from r356992, vendor/clang/dist/include/clang/AST/OptionalDiagnostic.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Analysis/PathDiagnostic.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Analysis/PathDiagnostic.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/AArch64SVEACLETypes.def - copied unchanged from r356992, vendor/clang/dist/include/clang/Basic/AArch64SVEACLETypes.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/AttributeCommonInfo.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Basic/AttributeCommonInfo.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsBPF.def - copied unchanged from r356992, vendor/clang/dist/include/clang/Basic/BuiltinsBPF.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/LangStandard.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Basic/LangStandard.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/LangStandards.def - copied unchanged from r356992, vendor/clang/dist/include/clang/Basic/LangStandards.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/TypeNodes.td - copied unchanged from r356992, vendor/clang/dist/include/clang/Basic/TypeNodes.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Index/IndexingOptions.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Index/IndexingOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorExcludedConditionalDirectiveSkipMapping.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Lex/PreprocessorExcludedConditionalDirectiveSkipMapping.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h - copied unchanged from r356992, vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicCastInfo.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h - copied unchanged from r356992, vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicType.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningFilesystem.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningService.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningService.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Tooling/DependencyScanning/DependencyScanningTool.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h - copied unchanged from r356992, vendor/clang/dist/include/clang/Tooling/Refactoring/Extract/SourceExtraction.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Transformer/ - copied from r356992, vendor/clang/dist/include/clang/Tooling/Transformer/ projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Interp/ - copied from r356992, vendor/clang/dist/lib/AST/Interp/ projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/PathDiagnostic.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Analysis/PathDiagnostic.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/LangStandards.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Basic/LangStandards.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Stack.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Basic/Stack.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/DirectoryWatcher/windows/ - copied from r356992, vendor/clang/dist/lib/DirectoryWatcher/windows/ projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Driver/ToolChains/InterfaceStubs.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/InterfaceStubs.h - copied unchanged from r356992, vendor/clang/dist/lib/Driver/ToolChains/InterfaceStubs.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/pmmintrin.h - copied unchanged from r356992, vendor/clang/dist/lib/Headers/ppc_wrappers/pmmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/smmintrin.h - copied unchanged from r356992, vendor/clang/dist/lib/Headers/ppc_wrappers/smmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/tmmintrin.h - copied unchanged from r356992, vendor/clang/dist/lib/Headers/ppc_wrappers/tmmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaConcept.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Sema/SemaConcept.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Yaml.h - copied unchanged from r356992, vendor/clang/dist/lib/StaticAnalyzer/Checkers/Yaml.h projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicType.cpp - copied unchanged from r356992, vendor/clang/dist/lib/StaticAnalyzer/Core/DynamicType.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningFilesystem.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningService.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningService.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp - copied unchanged from r356992, vendor/clang/dist/lib/Tooling/DependencyScanning/DependencyScanningTool.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Transformer/ - copied from r356992, vendor/clang/dist/lib/Tooling/Transformer/ projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangOpcodesEmitter.cpp - copied unchanged from r356992, vendor/clang/dist/utils/TableGen/ClangOpcodesEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangTypeNodesEmitter.cpp - copied unchanged from r356992, vendor/clang/dist/utils/TableGen/ClangTypeNodesEmitter.cpp Deleted: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/TypeNodes.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/LangStandard.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/LangStandards.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Index/CodegenNameGenerator.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RangeSelector.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/SourceCode.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Stencil.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/Transformer.h projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/LangStandards.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Index/CodegenNameGenerator.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.h projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/RangeSelector.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/SourceCode.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Stencil.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Transformer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Transformer/CMakeLists.txt Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/Index.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/APValue.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTContext.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTFwd.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporter.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporterSharedState.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTNodeTraverser.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTStructuralEquivalence.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTTypeTraits.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Attr.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CharUnits.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CommentCommands.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CommentLexer.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Decl.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/DeclBase.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/DeclCXX.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/DeclTemplate.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Expr.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExprCXX.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ExternalASTMerger.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/FormatString.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/GlobalDecl.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/JSONNodeDumper.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Mangle.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/NSAPI.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/OpenMPClause.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/OperationKinds.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/RawCommentList.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/RecursiveASTVisitor.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Stmt.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/StmtOpenMP.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/TextNodeDumper.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Type.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/TypeLoc.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/TypeLocNodes.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/TypeVisitor.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Analysis/AnalysisDeclContext.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Analysis/CFG.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Analysis/CallGraph.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Attr.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/AttrDocs.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Builtins.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsAArch64.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsAMDGPU.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsARM.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsPPC.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsWebAssembly.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsX86.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/BuiltinsX86_64.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/CodeGenOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Diagnostic.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticASTKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommentKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticGroups.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticOptions.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticParseKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Features.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/FileManager.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/IdentifierTable.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/LangOptions.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/LangOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Linkage.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/OpenCLOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/OpenMPKinds.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/OpenMPKinds.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/OperatorKinds.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/SourceManager.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Specifiers.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/Stack.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/StmtNodes.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/SyncScope.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/TargetBuiltins.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/TargetInfo.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/TokenKinds.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/X86Target.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Basic/arm_neon.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/CrossTU/CrossTranslationUnit.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/DirectoryWatcher/DirectoryWatcher.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Action.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/CC1Options.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/CLCompatOptions.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Driver.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Options.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Options.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Phases.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/SanitizerArgs.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/ToolChain.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Types.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/Driver/Types.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Format/Format.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/ASTUnit.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/CompilerInstance.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/CompilerInvocation.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/FrontendActions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/FrontendOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Frontend/Utils.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Index/IndexDataConsumer.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Index/IndexingAction.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/DependencyDirectivesSourceMinimizer.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/DirectoryLookup.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/HeaderMap.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/HeaderSearch.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/HeaderSearchOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/Lexer.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/MacroArgs.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PPCallbacks.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/Preprocessor.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Lex/PreprocessorOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Parse/Parser.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Rewrite/Core/Rewriter.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/Overload.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/ParsedAttr.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/ScopeInfo.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/Sema.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/SemaInternal.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Sema/TypoCorrection.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Serialization/ASTBitCodes.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Serialization/ASTReader.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.def projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/ASTDiff/ASTDiff.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/AllTUsExecution.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/ArgumentsAdjusters.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/DependencyScanning/DependencyScanningWorker.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Execution.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Inclusions/HeaderIncludes.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Inclusions/IncludeStyle.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/StandaloneExecution.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Syntax/Tokens.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/Tooling/Tooling.h projects/clang1000-import/contrib/llvm-project/clang/include/clang/module.modulemap projects/clang1000-import/contrib/llvm-project/clang/lib/ARCMigrate/ARCMT.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/ARCMigrate/FileRemapper.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/ARCMigrate/ObjCMT.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/ARCMigrate/PlistReporter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/APValue.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTContext.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTDiagnostic.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTImporter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTStructuralEquivalence.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ASTTypeTraits.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CXXInheritance.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Comment.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CommentLexer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CommentParser.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/CommentSema.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Decl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclBase.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclPrinter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/DeclTemplate.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Expr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprClassification.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExprConstant.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ExternalASTMerger.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/FormatString.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/FormatStringParsing.h projects/clang1000-import/contrib/llvm-project/clang/lib/AST/InheritViz.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ItaniumCXXABI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/ItaniumMangle.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/JSONNodeDumper.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Mangle.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/MicrosoftCXXABI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/MicrosoftMangle.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/NSAPI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/OpenMPClause.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/PrintfFormatString.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/RawCommentList.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Stmt.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtOpenMP.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtPrinter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/StmtProfile.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/TemplateBase.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/TextNodeDumper.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/Type.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/TypeLoc.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/TypePrinter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/VTTBuilder.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/AST/VTableBuilder.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Marshallers.h projects/clang1000-import/contrib/llvm-project/clang/lib/ASTMatchers/Dynamic/Registry.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/AnalysisDeclContext.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/BodyFarm.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/CFG.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/CallGraph.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/CloneDetection.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/CocoaConventions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/Consumed.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/ProgramPoint.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/ReachableCode.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/RetainSummaryManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/ThreadSafety.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Analysis/plugins/SampleAnalyzer/MainCallChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Attributes.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/FileManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/IdentifierTable.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Module.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/OpenMPKinds.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/SourceManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/TargetInfo.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/AArch64.h projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/AMDGPU.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/ARM.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/BPF.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/BPF.h projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/OSTargets.h projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/RISCV.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/Sparc.h projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/SystemZ.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/X86.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/Targets/X86.h projects/clang1000-import/contrib/llvm-project/clang/lib/Basic/TokenKinds.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/BackendUtil.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGAtomic.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGBlocks.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGBuiltin.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGCUDANV.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGCXXABI.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGCall.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGClass.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGCleanup.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGDebugInfo.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGDeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGException.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGExpr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGExprAgg.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGExprCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGExprComplex.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGExprConstant.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGExprScalar.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGLoopInfo.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGLoopInfo.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGNonTrivialStruct.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGObjC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGObjCGNU.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGObjCMac.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntime.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGStmt.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CGVTables.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenAction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenFunction.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenModule.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenPGO.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenPGO.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CodeGenTypes.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/ConstantInitBuilder.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/CoverageMappingGen.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/EHScopeStack.h projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/ModuleBuilder.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CodeGen/TargetInfo.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/CrossTU/CrossTranslationUnit.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/DirectoryWatcher/default/DirectoryWatcher-not-implemented.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/DirectoryWatcher/linux/DirectoryWatcher-linux.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/DirectoryWatcher/mac/DirectoryWatcher-mac.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Action.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Compilation.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Driver.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/DriverOptions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Phases.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/SanitizerArgs.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChain.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/AMDGPU.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/AVR.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Ananas.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/AArch64.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/ARM.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/Mips.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/PPC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/RISCV.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Arch/X86.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/BareMetal.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Clang.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/CloudABI.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/CommonArgs.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/CrossWindows.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Cuda.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Darwin.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/DragonFly.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/FreeBSD.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Fuchsia.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Fuchsia.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Gnu.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/HIP.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/HIP.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Hexagon.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Linux.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/MSP430.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/MSVC.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/MinGW.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/MinGW.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Minix.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Myriad.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/NaCl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/NetBSD.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/OpenBSD.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/PPCLinux.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/PS4CPU.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/RISCVToolchain.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/RISCVToolchain.h projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/Solaris.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/WebAssembly.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/ToolChains/XCore.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/Types.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Driver/XRayArgs.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/BreakableToken.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/ContinuationIndenter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/Encoding.h projects/clang1000-import/contrib/llvm-project/clang/lib/Format/Format.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/FormatToken.h projects/clang1000-import/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/FormatTokenLexer.h projects/clang1000-import/contrib/llvm-project/clang/lib/Format/NamespaceEndCommentsFixer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/TokenAnnotator.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/TokenAnnotator.h projects/clang1000-import/contrib/llvm-project/clang/lib/Format/UnwrappedLineFormatter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Format/UnwrappedLineParser.h projects/clang1000-import/contrib/llvm-project/clang/lib/Format/WhitespaceManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/ASTConsumers.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/ASTUnit.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/ChainedIncludesSource.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CompilerInstance.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CompilerInvocation.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/DependencyFile.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/DependencyGraph.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/FrontendAction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/FrontendActions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/FrontendOptions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/HeaderIncludeGen.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/InitHeaderSearch.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/InitPreprocessor.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/InterfaceStubFunctionsConsumer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/ModuleDependencyCollector.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/MultiplexConsumer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/PrecompiledPreamble.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/Rewrite/FixItRewriter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/Rewrite/FrontendActions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/Rewrite/HTMLPrint.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/Rewrite/RewriteObjC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/TextDiagnostic.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/__clang_cuda_intrinsics.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/altivec.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/arm_acle.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/avx512fintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/bmiintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/cpuid.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ia32intrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/immintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/opencl-c-base.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/emmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/mm_malloc.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/mmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Headers/ppc_wrappers/xmmintrin.h projects/clang1000-import/contrib/llvm-project/clang/lib/Index/IndexSymbol.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Index/IndexingAction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Index/USRGeneration.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/DependencyDirectivesSourceMinimizer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/HeaderMap.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/HeaderSearch.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Lexer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/MacroArgs.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/ModuleMap.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/PPDirectives.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/PPLexerChange.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/PPMacroExpansion.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Pragma.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/Preprocessor.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/TokenLexer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Lex/UnicodeCharSets.h projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseDeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseExpr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseExprCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseInit.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseObjc.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseOpenMP.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParsePragma.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseStmt.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseTemplate.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/ParseTentative.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Parse/Parser.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Rewrite/Rewriter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/DeclSpec.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/OpenCLBuiltins.td projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/ParsedAttr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/Sema.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaAccess.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaAttr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCUDA.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCast.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaChecking.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCodeComplete.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaCoroutine.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaDeclAttr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaDeclCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaDeclObjC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExceptionSpec.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExpr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExprCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExprMember.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaExprObjC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaInit.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaLambda.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaLookup.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaModule.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaObjCProperty.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaOpenMP.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaOverload.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaStmt.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaStmtAttr.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplate.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaTemplateVariadic.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/SemaType.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/TreeTransform.h projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/TypeLocBuilder.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Sema/TypeLocBuilder.h projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTCommon.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTReader.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTReaderDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTReaderStmt.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTWriter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTWriterDecl.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ASTWriterStmt.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/GlobalModuleIndex.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/ModuleManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Serialization/PCHContainerOperations.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CastValueChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/InnerPointerChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IteratorChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MIGChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MmapWriteExecChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/MoveChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.h projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.h projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Taint.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/Taint.h projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedObjectChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UninitializedObject/UninitializedPointee.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Checker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/CommonBugCategories.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SMTConstraintManager.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/SarifDiagnostics.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/Store.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Core/WorkList.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/CheckerRegistry.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/FrontendActions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/ASTDiff/ASTDiff.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/AllTUsExecution.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/ArgumentsAdjusters.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/CommonOptionsParser.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/CompilationDatabase.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Core/Replacement.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/DependencyScanning/DependencyScanningWorker.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/GuessTargetAndModeCompilationDatabase.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Inclusions/HeaderIncludes.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Inclusions/IncludeStyle.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/InterpolatingCompilationDatabase.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Extract/Extract.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Extract/SourceExtraction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/RefactoringActions.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/SymbolOccurrences.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/RefactoringCallbacks.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/StandaloneExecution.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Syntax/BuildTree.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Syntax/Tokens.cpp projects/clang1000-import/contrib/llvm-project/clang/lib/Tooling/Tooling.cpp projects/clang1000-import/contrib/llvm-project/clang/tools/clang-format/ClangFormat.cpp projects/clang1000-import/contrib/llvm-project/clang/tools/driver/cc1_main.cpp projects/clang1000-import/contrib/llvm-project/clang/tools/driver/cc1as_main.cpp projects/clang1000-import/contrib/llvm-project/clang/tools/driver/driver.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangASTNodesEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangAttrEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangCommentHTMLNamedCharacterReferenceEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangDataCollectorsEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangOpenCLBuiltinEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangOptionDocEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/ClangSACheckersEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/NeonEmitter.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/TableGen.cpp projects/clang1000-import/contrib/llvm-project/clang/utils/TableGen/TableGenBackends.h Directory Properties: projects/clang1000-import/contrib/llvm-project/clang/ (props changed) Copied: projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h (from r356992, vendor/clang/dist/include/clang-c/FatalErrorHandler.h) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/FatalErrorHandler.h Wed Jan 22 21:31:48 2020 (r356998, copy of r356992, vendor/clang/dist/include/clang-c/FatalErrorHandler.h) @@ -0,0 +1,33 @@ +/*===-- clang-c/FatalErrorHandler.h - Fatal Error Handling --------*- C -*-===*\ +|* *| +|* Part of the LLVM Project, under the Apache License v2.0 with LLVM *| +|* Exceptions. *| +|* See https://llvm.org/LICENSE.txt for license information. *| +|* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception *| +|* *| +\*===----------------------------------------------------------------------===*/ + +#ifndef LLVM_CLANG_C_FATAL_ERROR_HANDLER_H +#define LLVM_CLANG_C_FATAL_ERROR_HANDLER_H + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * Installs error handler that prints error message to stderr and calls abort(). + * Replaces currently installed error handler (if any). + */ +void clang_install_aborting_llvm_fatal_error_handler(void); + +/** + * Removes currently installed error handler (if any). + * If no error handler is intalled, the default strategy is to print error + * message to stderr and call exit(1). + */ +void clang_uninstall_llvm_fatal_error_handler(void); + +#ifdef __cplusplus +} +#endif +#endif Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/Index.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/Index.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang-c/Index.h Wed Jan 22 21:31:48 2020 (r356998) @@ -1356,7 +1356,12 @@ enum CXTranslationUnit_Flags { * the case where these warnings are not of interest, as for an IDE for * example, which typically shows only the diagnostics in the main file. */ - CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000 + CXTranslationUnit_IgnoreNonErrorsFromIncludedFiles = 0x4000, + + /** + * Tells the preprocessor not to skip excluded conditional blocks. + */ + CXTranslationUnit_RetainExcludedConditionalBlocks = 0x8000 }; /** @@ -2550,7 +2555,20 @@ enum CXCursorKind { */ CXCursor_BuiltinBitCastExpr = 280, - CXCursor_LastStmt = CXCursor_BuiltinBitCastExpr, + /** OpenMP master taskloop directive. + */ + CXCursor_OMPMasterTaskLoopDirective = 281, + + /** OpenMP parallel master taskloop directive. + */ + CXCursor_OMPParallelMasterTaskLoopDirective = 282, + + /** OpenMP master taskloop simd directive. + */ + CXCursor_OMPMasterTaskLoopSimdDirective = 283, + + + CXCursor_LastStmt = CXCursor_OMPMasterTaskLoopSimdDirective, /** * Cursor that represents the translation unit itself. Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/APValue.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/APValue.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/APValue.h Wed Jan 22 21:31:48 2020 (r356998) @@ -53,6 +53,34 @@ class TypeInfoLValue { (public) void print(llvm::raw_ostream &Out, const PrintingPolicy &Policy) const; }; + +/// Symbolic representation of a dynamic allocation. +class DynamicAllocLValue { + unsigned Index; + +public: + DynamicAllocLValue() : Index(0) {} + explicit DynamicAllocLValue(unsigned Index) : Index(Index + 1) {} + unsigned getIndex() { return Index - 1; } + + explicit operator bool() const { return Index != 0; } + + void *getOpaqueValue() { + return reinterpret_cast<void *>(static_cast<uintptr_t>(Index) + << NumLowBitsAvailable); + } + static DynamicAllocLValue getFromOpaqueValue(void *Value) { + DynamicAllocLValue V; + V.Index = reinterpret_cast<uintptr_t>(Value) >> NumLowBitsAvailable; + return V; + } + + static unsigned getMaxIndex() { + return (std::numeric_limits<unsigned>::max() >> NumLowBitsAvailable) - 1; + } + + static constexpr int NumLowBitsAvailable = 3; +}; } namespace llvm { @@ -67,6 +95,17 @@ template<> struct PointerLikeTypeTraits<clang::TypeInf // to include Type.h. static constexpr int NumLowBitsAvailable = 3; }; + +template<> struct PointerLikeTypeTraits<clang::DynamicAllocLValue> { + static void *getAsVoidPointer(clang::DynamicAllocLValue V) { + return V.getOpaqueValue(); + } + static clang::DynamicAllocLValue getFromVoidPointer(void *P) { + return clang::DynamicAllocLValue::getFromOpaqueValue(P); + } + static constexpr int NumLowBitsAvailable = + clang::DynamicAllocLValue::NumLowBitsAvailable; +}; } namespace clang { @@ -97,13 +136,15 @@ class APValue { (public) }; class LValueBase { - typedef llvm::PointerUnion<const ValueDecl *, const Expr *, TypeInfoLValue> + typedef llvm::PointerUnion<const ValueDecl *, const Expr *, TypeInfoLValue, + DynamicAllocLValue> PtrTy; public: LValueBase() : Local{} {} LValueBase(const ValueDecl *P, unsigned I = 0, unsigned V = 0); LValueBase(const Expr *P, unsigned I = 0, unsigned V = 0); + static LValueBase getDynamicAlloc(DynamicAllocLValue LV, QualType Type); static LValueBase getTypeInfo(TypeInfoLValue LV, QualType TypeInfo); template <class T> @@ -124,6 +165,7 @@ class APValue { (public) unsigned getCallIndex() const; unsigned getVersion() const; QualType getTypeInfoType() const; + QualType getDynamicAllocType() const; friend bool operator==(const LValueBase &LHS, const LValueBase &RHS); friend bool operator!=(const LValueBase &LHS, const LValueBase &RHS) { @@ -140,6 +182,8 @@ class APValue { (public) LocalState Local; /// The type std::type_info, if this is a TypeInfoLValue. void *TypeInfoType; + /// The QualType, if this is a DynamicAllocLValue. + void *DynamicAllocType; }; }; Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTContext.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTContext.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTContext.h Wed Jan 22 21:31:48 2020 (r356998) @@ -139,6 +139,12 @@ class FullComment; } // namespace comments +namespace interp { + +class Context; + +} // namespace interp + struct TypeInfo { uint64_t Width = 0; unsigned Align = 0; @@ -179,7 +185,8 @@ class ASTContext : public RefCountedBase<ASTContext> { mutable llvm::FoldingSet<LValueReferenceType> LValueReferenceTypes; mutable llvm::FoldingSet<RValueReferenceType> RValueReferenceTypes; mutable llvm::FoldingSet<MemberPointerType> MemberPointerTypes; - mutable llvm::FoldingSet<ConstantArrayType> ConstantArrayTypes; + mutable llvm::ContextualFoldingSet<ConstantArrayType, ASTContext &> + ConstantArrayTypes; mutable llvm::FoldingSet<IncompleteArrayType> IncompleteArrayTypes; mutable std::vector<VariableArrayType*> VariableArrayTypes; mutable llvm::FoldingSet<DependentSizedArrayType> DependentSizedArrayTypes; @@ -507,6 +514,8 @@ class ASTContext : public RefCountedBase<ASTContext> { /// need to be consistently numbered for the mangler). llvm::DenseMap<const DeclContext *, std::unique_ptr<MangleNumberingContext>> MangleNumberingContexts; + llvm::DenseMap<const Decl *, std::unique_ptr<MangleNumberingContext>> + ExtraMangleNumberingContexts; /// Side-table of mangling numbers for declarations which rarely /// need them (like static local vars). @@ -564,6 +573,7 @@ class ASTContext : public RefCountedBase<ASTContext> { const TargetInfo *Target = nullptr; const TargetInfo *AuxTarget = nullptr; clang::PrintingPolicy PrintingPolicy; + std::unique_ptr<interp::Context> InterpContext; public: IdentifierTable &Idents; @@ -573,6 +583,9 @@ class ASTContext : public RefCountedBase<ASTContext> { IntrusiveRefCntPtr<ExternalASTSource> ExternalSource; ASTMutationListener *Listener = nullptr; + /// Returns the clang bytecode interpreter context. + interp::Context &getInterpContext(); + /// Container for either a single DynTypedNode or for an ArrayRef to /// DynTypedNode. For use with ParentMap. class DynTypedNodeList { @@ -729,71 +742,49 @@ class ASTContext : public RefCountedBase<ASTContext> { /// True if comments are already loaded from ExternalASTSource. mutable bool CommentsLoaded = false; - class RawCommentAndCacheFlags { - public: - enum Kind { - /// We searched for a comment attached to the particular declaration, but - /// didn't find any. - /// - /// getRaw() == 0. - NoCommentInDecl = 0, + /// Mapping from declaration to directly attached comment. + /// + /// Raw comments are owned by Comments list. This mapping is populated + /// lazily. + mutable llvm::DenseMap<const Decl *, const RawComment *> DeclRawComments; - /// We have found a comment attached to this particular declaration. - /// - /// getRaw() != 0. - FromDecl, - - /// This declaration does not have an attached comment, and we have - /// searched the redeclaration chain. - /// - /// If getRaw() == 0, the whole redeclaration chain does not have any - /// comments. - /// - /// If getRaw() != 0, it is a comment propagated from other - /// redeclaration. - FromRedecl - }; - - Kind getKind() const LLVM_READONLY { - return Data.getInt(); - } - - void setKind(Kind K) { - Data.setInt(K); - } - - const RawComment *getRaw() const LLVM_READONLY { - return Data.getPointer(); - } - - void setRaw(const RawComment *RC) { - Data.setPointer(RC); - } - - const Decl *getOriginalDecl() const LLVM_READONLY { - return OriginalDecl; - } - - void setOriginalDecl(const Decl *Orig) { - OriginalDecl = Orig; - } - - private: - llvm::PointerIntPair<const RawComment *, 2, Kind> Data; - const Decl *OriginalDecl; - }; - - /// Mapping from declarations to comments attached to any - /// redeclaration. + /// Mapping from canonical declaration to the first redeclaration in chain + /// that has a comment attached. /// /// Raw comments are owned by Comments list. This mapping is populated /// lazily. - mutable llvm::DenseMap<const Decl *, RawCommentAndCacheFlags> RedeclComments; + mutable llvm::DenseMap<const Decl *, const Decl *> RedeclChainComments; + /// Keeps track of redeclaration chains that don't have any comment attached. + /// Mapping from canonical declaration to redeclaration chain that has no + /// comments attached to any redeclaration. Specifically it's mapping to + /// the last redeclaration we've checked. + /// + /// Shall not contain declarations that have comments attached to any + /// redeclaration in their chain. + mutable llvm::DenseMap<const Decl *, const Decl *> CommentlessRedeclChains; + /// Mapping from declarations to parsed comments attached to any /// redeclaration. mutable llvm::DenseMap<const Decl *, comments::FullComment *> ParsedComments; + /// Attaches \p Comment to \p OriginalD and to its redeclaration chain + /// and removes the redeclaration chain from the set of commentless chains. + /// + /// Don't do anything if a comment has already been attached to \p OriginalD + /// or its redeclaration chain. + void cacheRawCommentForDecl(const Decl &OriginalD, + const RawComment &Comment) const; + + /// \returns searches \p CommentsInFile for doc comment for \p D. + /// + /// \p RepresentativeLocForDecl is used as a location for searching doc + /// comments. \p CommentsInFile is a mapping offset -> comment of files in the + /// same file where \p RepresentativeLocForDecl is. + RawComment *getRawCommentForDeclNoCacheImpl( + const Decl *D, const SourceLocation RepresentativeLocForDecl, + const std::map<unsigned, RawComment *> &CommentsInFile) const; + /// Return the documentation comment attached to a given declaration, /// without looking into cache. RawComment *getRawCommentForDeclNoCache(const Decl *D) const; @@ -818,6 +809,16 @@ class ASTContext : public RefCountedBase<ASTContext> { getRawCommentForAnyRedecl(const Decl *D, const Decl **OriginalDecl = nullptr) const; + /// Searches existing comments for doc comments that should be attached to \p + /// Decls. If any doc comment is found, it is parsed. + /// + /// Requirement: All \p Decls are in the same file. + /// + /// If the last comment in the file is already attached we assume + /// there are not comments left to be attached to \p Decls. + void attachCommentsToJustParsedDecls(ArrayRef<Decl *> Decls, + const Preprocessor *PP); + /// Return parsed documentation comment attached to a given declaration. /// Returns nullptr if no comment is attached. /// @@ -1054,6 +1055,9 @@ class ASTContext : public RefCountedBase<ASTContext> { #define EXT_OPAQUE_TYPE(ExtType, Id, Ext) \ CanQualType Id##Ty; #include "clang/Basic/OpenCLExtensionTypes.def" +#define SVE_TYPE(Name, Id, SingletonId) \ + CanQualType SingletonId; +#include "clang/Basic/AArch64SVEACLETypes.def" // Types for deductions in C++0x [stmt.ranged]'s desugaring. Built on demand. mutable QualType AutoDeductTy; // Deduction against 'auto'. @@ -1329,6 +1333,7 @@ class ASTContext : public RefCountedBase<ASTContext> { /// Return the unique reference to the type for a constant array of /// the specified element type. QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize, + const Expr *SizeExpr, ArrayType::ArraySizeModifier ASM, unsigned IndexTypeQuals) const; @@ -1498,8 +1503,7 @@ class ASTContext : public RefCountedBase<ASTContext> { bool isKindOf) const; QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl, - ArrayRef<ObjCProtocolDecl *> protocols, - QualType Canonical = QualType()) const; + ArrayRef<ObjCProtocolDecl *> protocols) const; bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl); @@ -2054,6 +2058,11 @@ class ASTContext : public RefCountedBase<ASTContext> { /// types. bool areCompatibleVectorTypes(QualType FirstVec, QualType SecondVec); + /// Return true if the type has been explicitly qualified with ObjC ownership. + /// A type may be implicitly qualified with ownership under ObjC ARC, and in + /// some cases the compiler treats these differently. + bool hasDirectOwnershipQualifier(QualType Ty) const; + /// Return true if this is an \c NSObject object with its \c NSObject /// attribute set. static bool isObjCNSObjectType(QualType Ty) { @@ -2577,10 +2586,12 @@ class ASTContext : public RefCountedBase<ASTContext> { return T == getObjCSelType(); } - bool ObjCQualifiedIdTypesAreCompatible(QualType LHS, QualType RHS, + bool ObjCQualifiedIdTypesAreCompatible(const ObjCObjectPointerType *LHS, + const ObjCObjectPointerType *RHS, bool ForCompare); - bool ObjCQualifiedClassTypesAreCompatible(QualType LHS, QualType RHS); + bool ObjCQualifiedClassTypesAreCompatible(const ObjCObjectPointerType *LHS, + const ObjCObjectPointerType *RHS); // Check the safety of assignment from LHS to RHS bool canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT, @@ -2802,6 +2813,9 @@ class ASTContext : public RefCountedBase<ASTContext> { /// Retrieve the context for computing mangling numbers in the given /// DeclContext. MangleNumberingContext &getManglingNumberContext(const DeclContext *DC); + enum NeedExtraManglingDecl_t { NeedExtraManglingDecl }; + MangleNumberingContext &getManglingNumberContext(NeedExtraManglingDecl_t, + const Decl *D); std::unique_ptr<MangleNumberingContext> createMangleNumberingContext() const; Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTFwd.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTFwd.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTFwd.h Wed Jan 22 21:31:48 2020 (r356998) @@ -24,7 +24,7 @@ class Stmt; #include "clang/AST/StmtNodes.inc" class Type; #define TYPE(DERIVED, BASE) class DERIVED##Type; -#include "clang/AST/TypeNodes.def" +#include "clang/AST/TypeNodes.inc" class CXXCtorInitializer; } // end namespace clang Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporter.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporter.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporter.h Wed Jan 22 21:31:48 2020 (r356998) @@ -87,7 +87,11 @@ class TypeSourceInfo; using NonEquivalentDeclSet = llvm::DenseSet<std::pair<Decl *, Decl *>>; using ImportedCXXBaseSpecifierMap = llvm::DenseMap<const CXXBaseSpecifier *, CXXBaseSpecifier *>; + using FileIDImportHandlerType = + std::function<void(FileID /*ToID*/, FileID /*FromID*/)>; + enum class ODRHandlingType { Conservative, Liberal }; + // An ImportPath is the list of the AST nodes which we visit during an // Import call. // If node `A` depends on node `B` then the path contains an `A`->`B` edge. @@ -210,6 +214,8 @@ class TypeSourceInfo; }; private: + FileIDImportHandlerType FileIDImportHandler; + std::shared_ptr<ASTImporterSharedState> SharedState = nullptr; /// The path which we go through during the import of a given AST node. @@ -232,6 +238,8 @@ class TypeSourceInfo; /// Whether to perform a minimal import. bool Minimal; + ODRHandlingType ODRHandling; + /// Whether the last diagnostic came from the "from" context. bool LastDiagFromFrom = false; @@ -310,10 +318,20 @@ class TypeSourceInfo; virtual ~ASTImporter(); + /// Set a callback function for FileID import handling. + /// The function is invoked when a FileID is imported from the From context. + /// The imported FileID in the To context and the original FileID in the + /// From context is passed to it. + void setFileIDImportHandler(FileIDImportHandlerType H) { + FileIDImportHandler = H; + } + /// Whether the importer will perform a minimal import, creating /// to-be-completed forward declarations when possible. bool isMinimalImport() const { return Minimal; } + void setODRHandling(ODRHandlingType T) { ODRHandling = T; } + /// \brief Import the given object, returns the result. /// /// \param To Import the object into this variable. @@ -366,6 +384,20 @@ class TypeSourceInfo; /// imported. If it does not exist nullptr is returned. TranslationUnitDecl *GetFromTU(Decl *ToD); + /// Return the declaration in the "from" context from which the declaration + /// in the "to" context was imported. If it was not imported or of the wrong + /// type a null value is returned. + template <typename DeclT> + llvm::Optional<DeclT *> getImportedFromDecl(const DeclT *ToD) const { + auto FromI = ImportedFromDecls.find(ToD); + if (FromI == ImportedFromDecls.end()) + return {}; + auto *FromD = dyn_cast<DeclT>(FromI->second); + if (!FromD) + return {}; + return FromD; + } + /// Import the given declaration context from the "from" /// AST context into the "to" AST context. /// @@ -491,12 +523,11 @@ class TypeSourceInfo; /// /// \param NumDecls the number of conflicting declarations in \p Decls. /// - /// \returns the name that the newly-imported declaration should have. - virtual DeclarationName HandleNameConflict(DeclarationName Name, - DeclContext *DC, - unsigned IDNS, - NamedDecl **Decls, - unsigned NumDecls); + /// \returns the name that the newly-imported declaration should have. Or + /// an error if we can't handle the name conflict. + virtual Expected<DeclarationName> + HandleNameConflict(DeclarationName Name, DeclContext *DC, unsigned IDNS, + NamedDecl **Decls, unsigned NumDecls); /// Retrieve the context that AST nodes are being imported into. ASTContext &getToContext() const { return ToContext; } Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporterSharedState.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporterSharedState.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTImporterSharedState.h Wed Jan 22 21:31:48 2020 (r356998) @@ -47,7 +47,7 @@ class ASTImporterSharedState { (public) ASTImporterSharedState() = default; ASTImporterSharedState(TranslationUnitDecl &ToTU) { - LookupTable = llvm::make_unique<ASTImporterLookupTable>(ToTU); + LookupTable = std::make_unique<ASTImporterLookupTable>(ToTU); } ASTImporterLookupTable *getLookupTable() { return LookupTable.get(); } Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTNodeTraverser.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTNodeTraverser.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTNodeTraverser.h Wed Jan 22 21:31:48 2020 (r356998) @@ -237,6 +237,9 @@ class ASTNodeTraverser (public) for (const auto &TP : *TPL) Visit(TP); + + if (const Expr *RC = TPL->getRequiresClause()) + Visit(RC); } void Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTStructuralEquivalence.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTStructuralEquivalence.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTStructuralEquivalence.h Wed Jan 22 21:31:48 2020 (r356998) @@ -18,7 +18,7 @@ #include "llvm/ADT/DenseMap.h" #include "llvm/ADT/DenseSet.h" #include "llvm/ADT/Optional.h" -#include <deque> +#include <queue> #include <utility> namespace clang { @@ -42,14 +42,13 @@ struct StructuralEquivalenceContext { /// AST contexts for which we are checking structural equivalence. ASTContext &FromCtx, &ToCtx; - /// The set of "tentative" equivalences between two canonical - /// declarations, mapping from a declaration in the first context to the - /// declaration in the second context that we believe to be equivalent. - llvm::DenseMap<Decl *, Decl *> TentativeEquivalences; + // Queue of from-to Decl pairs that are to be checked to determine the final + // result of equivalence of a starting Decl pair. + std::queue<std::pair<Decl *, Decl *>> DeclsToCheck; - /// Queue of declarations in the first context whose equivalence - /// with a declaration in the second context still needs to be verified. - std::deque<Decl *> DeclsToCheck; + // Set of from-to Decl pairs that are already visited during the check + // (are in or were once in \c DeclsToCheck) of a starting Decl pair. + llvm::DenseSet<std::pair<Decl *, Decl *>> VisitedDecls; /// Declaration (from, to) pairs that are known not to be equivalent /// (which we have already complained about). @@ -88,14 +87,14 @@ struct StructuralEquivalenceContext { /// Implementation functions (all static functions in /// ASTStructuralEquivalence.cpp) must never call this function because that /// will wreak havoc the internal state (\c DeclsToCheck and - /// \c TentativeEquivalences members) and can cause faulty equivalent results. + /// \c VisitedDecls members) and can cause faulty equivalent results. bool IsEquivalent(Decl *D1, Decl *D2); /// Determine whether the two types are structurally equivalent. /// Implementation functions (all static functions in /// ASTStructuralEquivalence.cpp) must never call this function because that /// will wreak havoc the internal state (\c DeclsToCheck and - /// \c TentativeEquivalences members) and can cause faulty equivalent results. + /// \c VisitedDecls members) and can cause faulty equivalent results. bool IsEquivalent(QualType T1, QualType T2); /// Find the index of the given anonymous struct/union within its Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTTypeTraits.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTTypeTraits.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/ASTTypeTraits.h Wed Jan 22 21:31:48 2020 (r356998) @@ -148,7 +148,7 @@ class ASTNodeKind { (private) #include "clang/AST/StmtNodes.inc" NKI_Type, #define TYPE(DERIVED, BASE) NKI_##DERIVED##Type, -#include "clang/AST/TypeNodes.def" +#include "clang/AST/TypeNodes.inc" NKI_OMPClause, #define OPENMP_CLAUSE(TextualSpelling, Class) NKI_##Class, #include "clang/Basic/OpenMPKinds.def" @@ -205,7 +205,7 @@ KIND_TO_KIND_ID(OMPClause) #define STMT(DERIVED, BASE) KIND_TO_KIND_ID(DERIVED) #include "clang/AST/StmtNodes.inc" #define TYPE(DERIVED, BASE) KIND_TO_KIND_ID(DERIVED##Type) -#include "clang/AST/TypeNodes.def" +#include "clang/AST/TypeNodes.inc" #define OPENMP_CLAUSE(TextualSpelling, Class) KIND_TO_KIND_ID(Class) #include "clang/Basic/OpenMPKinds.def" #undef KIND_TO_KIND_ID Modified: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Attr.h ============================================================================== --- projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Attr.h Wed Jan 22 21:22:34 2020 (r356997) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/Attr.h Wed Jan 22 21:31:48 2020 (r356998) @@ -19,6 +19,7 @@ #include "clang/AST/Expr.h" #include "clang/AST/Type.h" #include "clang/Basic/AttrKinds.h" +#include "clang/Basic/AttributeCommonInfo.h" #include "clang/Basic/LLVM.h" #include "clang/Basic/OpenMPKinds.h" #include "clang/Basic/Sanitizers.h" @@ -32,6 +33,7 @@ namespace clang { class ASTContext; + class AttributeCommonInfo; class IdentifierInfo; class ObjCInterfaceDecl; class Expr; @@ -40,84 +42,79 @@ namespace clang { class TypeSourceInfo; /// Attr - This represents one attribute. -class Attr { -private: - SourceRange Range; - unsigned AttrKind : 16; + class Attr : public AttributeCommonInfo { + private: + unsigned AttrKind : 16; -protected: - /// An index into the spelling list of an - /// attribute defined in Attr.td file. - unsigned SpellingListIndex : 4; - unsigned Inherited : 1; - unsigned IsPackExpansion : 1; - unsigned Implicit : 1; - // FIXME: These are properties of the attribute kind, not state for this - // instance of the attribute. - unsigned IsLateParsed : 1; - unsigned InheritEvenIfAlreadyPresent : 1; + protected: + /// An index into the spelling list of an + /// attribute defined in Attr.td file. + unsigned Inherited : 1; + unsigned IsPackExpansion : 1; + unsigned Implicit : 1; + // FIXME: These are properties of the attribute kind, not state for this + // instance of the attribute. + unsigned IsLateParsed : 1; + unsigned InheritEvenIfAlreadyPresent : 1; - void *operator new(size_t bytes) noexcept { - llvm_unreachable("Attrs cannot be allocated with regular 'new'."); - } - void operator delete(void *data) noexcept { - llvm_unreachable("Attrs cannot be released with regular 'delete'."); - } + void *operator new(size_t bytes) noexcept { + llvm_unreachable("Attrs cannot be allocated with regular 'new'."); + } + void operator delete(void *data) noexcept { + llvm_unreachable("Attrs cannot be released with regular 'delete'."); + } -public: - // Forward so that the regular new and delete do not hide global ones. - void *operator new(size_t Bytes, ASTContext &C, - size_t Alignment = 8) noexcept { - return ::operator new(Bytes, C, Alignment); - } - void operator delete(void *Ptr, ASTContext &C, size_t Alignment) noexcept { - return ::operator delete(Ptr, C, Alignment); - } + public: + // Forward so that the regular new and delete do not hide global ones. + void *operator new(size_t Bytes, ASTContext &C, + size_t Alignment = 8) noexcept { + return ::operator new(Bytes, C, Alignment); + } + void operator delete(void *Ptr, ASTContext &C, size_t Alignment) noexcept { + return ::operator delete(Ptr, C, Alignment); + } -protected: - Attr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed) - : Range(R), AttrKind(AK), SpellingListIndex(SpellingListIndex), - Inherited(false), IsPackExpansion(false), Implicit(false), - IsLateParsed(IsLateParsed), InheritEvenIfAlreadyPresent(false) {} + protected: + Attr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed) + : AttributeCommonInfo(CommonInfo), AttrKind(AK), Inherited(false), + IsPackExpansion(false), Implicit(false), IsLateParsed(IsLateParsed), + InheritEvenIfAlreadyPresent(false) {} -public: + public: + attr::Kind getKind() const { return static_cast<attr::Kind>(AttrKind); } - attr::Kind getKind() const { - return static_cast<attr::Kind>(AttrKind); - } + unsigned getSpellingListIndex() const { + return getAttributeSpellingListIndex(); + } + const char *getSpelling() const; - unsigned getSpellingListIndex() const { return SpellingListIndex; } - const char *getSpelling() const; + SourceLocation getLocation() const { return getRange().getBegin(); } - SourceLocation getLocation() const { return Range.getBegin(); } - SourceRange getRange() const { return Range; } - void setRange(SourceRange R) { Range = R; } + bool isInherited() const { return Inherited; } - bool isInherited() const { return Inherited; } + /// Returns true if the attribute has been implicitly created instead + /// of explicitly written by the user. + bool isImplicit() const { return Implicit; } + void setImplicit(bool I) { Implicit = I; } - /// Returns true if the attribute has been implicitly created instead - /// of explicitly written by the user. - bool isImplicit() const { return Implicit; } - void setImplicit(bool I) { Implicit = I; } + void setPackExpansion(bool PE) { IsPackExpansion = PE; } + bool isPackExpansion() const { return IsPackExpansion; } - void setPackExpansion(bool PE) { IsPackExpansion = PE; } - bool isPackExpansion() const { return IsPackExpansion; } + // Clone this attribute. + Attr *clone(ASTContext &C) const; - // Clone this attribute. - Attr *clone(ASTContext &C) const; + bool isLateParsed() const { return IsLateParsed; } - bool isLateParsed() const { return IsLateParsed; } + // Pretty print this attribute. + void printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const; + }; - // Pretty print this attribute. - void printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const; -}; - class TypeAttr : public Attr { protected: - TypeAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed) - : Attr(AK, R, SpellingListIndex, IsLateParsed) {} + TypeAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed) + : Attr(Context, CommonInfo, AK, IsLateParsed) {} public: static bool classof(const Attr *A) { @@ -128,9 +125,9 @@ class TypeAttr : public Attr { (public) class StmtAttr : public Attr { protected: - StmtAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed) - : Attr(AK, R, SpellingListIndex, IsLateParsed) {} + StmtAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed) + : Attr(Context, CommonInfo, AK, IsLateParsed) {} public: static bool classof(const Attr *A) { @@ -141,9 +138,10 @@ class StmtAttr : public Attr { (public) class InheritableAttr : public Attr { protected: - InheritableAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, - bool IsLateParsed, bool InheritEvenIfAlreadyPresent) - : Attr(AK, R, SpellingListIndex, IsLateParsed) { + InheritableAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed, + bool InheritEvenIfAlreadyPresent) + : Attr(Context, CommonInfo, AK, IsLateParsed) { this->InheritEvenIfAlreadyPresent = InheritEvenIfAlreadyPresent; } @@ -165,9 +163,10 @@ class InheritableAttr : public Attr { (public) class InheritableParamAttr : public InheritableAttr { protected: - InheritableParamAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, + InheritableParamAttr(ASTContext &Context, + const AttributeCommonInfo &CommonInfo, attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent) - : InheritableAttr(AK, R, SpellingListIndex, IsLateParsed, + : InheritableAttr(Context, CommonInfo, AK, IsLateParsed, InheritEvenIfAlreadyPresent) {} public: @@ -182,11 +181,11 @@ class InheritableParamAttr : public InheritableAttr { /// for the parameter. class ParameterABIAttr : public InheritableParamAttr { protected: - ParameterABIAttr(attr::Kind AK, SourceRange R, - unsigned SpellingListIndex, bool IsLateParsed, + ParameterABIAttr(ASTContext &Context, const AttributeCommonInfo &CommonInfo, + attr::Kind AK, bool IsLateParsed, bool InheritEvenIfAlreadyPresent) - : InheritableParamAttr(AK, R, SpellingListIndex, IsLateParsed, - InheritEvenIfAlreadyPresent) {} + : InheritableParamAttr(Context, CommonInfo, AK, IsLateParsed, + InheritEvenIfAlreadyPresent) {} public: ParameterABI getABI() const { Copied: projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def (from r356992, vendor/clang/dist/include/clang/AST/CXXRecordDeclDefinitionBits.def) ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ projects/clang1000-import/contrib/llvm-project/clang/include/clang/AST/CXXRecordDeclDefinitionBits.def Wed Jan 22 21:31:48 2020 (r356998, copy of r356992, vendor/clang/dist/include/clang/AST/CXXRecordDeclDefinitionBits.def) @@ -0,0 +1,236 @@ +//===-- CXXRecordDeclDefinitionBits.def - Class definition bits -*- C++ -*-===// +// +// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +// See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// +//===----------------------------------------------------------------------===// +// +// This file enumerates the various bitfields that we want to store on C++ class +// definitions. +// +//===----------------------------------------------------------------------===// +// +/// @file CXXRecordDeclDefinitionBits.def +/// +/// In this file, each of the bitfields representing data about a C++ class +/// results in an expansion of the FIELD macro, which should be defined before +/// including this file. +/// +/// The macro have three operands: +/// +/// Name: The name of the field, as a member of CXXRecordDecl::DefinitionData. +/// +/// BitWidth: The width of the field in bits. +/// +/// MergePolicy: How to behave when the value of the field is different in +/// multiple translation units, one of: +/// NO_MERGE: It is an ODR violation if the fields do not match. +/// MERGE_OR: Merge the fields by ORing them together. + +#ifndef FIELD +#error define FIELD before including this file +#endif + +/// True if this class has any user-declared constructors. +FIELD(UserDeclaredConstructor, 1, NO_MERGE) + +/// The user-declared special members which this class has. +FIELD(UserDeclaredSpecialMembers, 6, NO_MERGE) + +/// True when this class is an aggregate. +FIELD(Aggregate, 1, NO_MERGE) + +/// True when this class is a POD-type. +FIELD(PlainOldData, 1, NO_MERGE) + +/// True when this class is empty for traits purposes, that is: +/// * has no data members other than 0-width bit-fields and empty fields +/// marked [[no_unique_address]] +/// * has no virtual function/base, and +/// * doesn't inherit from a non-empty class. +/// Doesn't take union-ness into account. +FIELD(Empty, 1, NO_MERGE) + +/// True when this class is polymorphic, i.e., has at +/// least one virtual member or derives from a polymorphic class. +FIELD(Polymorphic, 1, NO_MERGE) + +/// True when this class is abstract, i.e., has at least +/// one pure virtual function, (that can come from a base class). +FIELD(Abstract, 1, NO_MERGE) + +/// True when this class is standard-layout, per the applicable +/// language rules (including DRs). +FIELD(IsStandardLayout, 1, NO_MERGE) + +/// True when this class was standard-layout under the C++11 +/// definition. +/// +/// C++11 [class]p7. A standard-layout class is a class that: +/// * has no non-static data members of type non-standard-layout class (or +/// array of such types) or reference, +/// * has no virtual functions (10.3) and no virtual base classes (10.1), +/// * has the same access control (Clause 11) for all non-static data +/// members +/// * has no non-standard-layout base classes, +/// * either has no non-static data members in the most derived class and at +/// most one base class with non-static data members, or has no base +/// classes with non-static data members, and +/// * has no base classes of the same type as the first non-static data +/// member. +FIELD(IsCXX11StandardLayout, 1, NO_MERGE) + +/// True when any base class has any declared non-static data +/// members or bit-fields. +/// This is a helper bit of state used to implement IsStandardLayout more +/// efficiently. +FIELD(HasBasesWithFields, 1, NO_MERGE) + +/// True when any base class has any declared non-static data +/// members. +/// This is a helper bit of state used to implement IsCXX11StandardLayout +/// more efficiently. +FIELD(HasBasesWithNonStaticDataMembers, 1, NO_MERGE) + +/// True when there are private non-static data members. +FIELD(HasPrivateFields, 1, NO_MERGE) + +/// True when there are protected non-static data members. +FIELD(HasProtectedFields, 1, NO_MERGE) + +/// True when there are private non-static data members. +FIELD(HasPublicFields, 1, NO_MERGE) + +/// True if this class (or any subobject) has mutable fields. +FIELD(HasMutableFields, 1, NO_MERGE) + +/// True if this class (or any nested anonymous struct or union) +/// has variant members. +FIELD(HasVariantMembers, 1, NO_MERGE) + +/// True if there no non-field members declared by the user. +FIELD(HasOnlyCMembers, 1, NO_MERGE) + +/// True if any field has an in-class initializer, including those +/// within anonymous unions or structs. +FIELD(HasInClassInitializer, 1, NO_MERGE) + +/// True if any field is of reference type, and does not have an +/// in-class initializer. +/// +/// In this case, value-initialization of this class is illegal in C++98 +/// even if the class has a trivial default constructor. +FIELD(HasUninitializedReferenceMember, 1, NO_MERGE) + +/// True if any non-mutable field whose type doesn't have a user- +/// provided default ctor also doesn't have an in-class initializer. +FIELD(HasUninitializedFields, 1, NO_MERGE) + +/// True if there are any member using-declarations that inherit +/// constructors from a base class. +FIELD(HasInheritedConstructor, 1, NO_MERGE) + +/// True if there are any member using-declarations named +/// 'operator='. +FIELD(HasInheritedAssignment, 1, NO_MERGE) + +/// These flags are \c true if a defaulted corresponding special +/// member can't be fully analyzed without performing overload resolution. +/// @{ +FIELD(NeedOverloadResolutionForCopyConstructor, 1, NO_MERGE) +FIELD(NeedOverloadResolutionForMoveConstructor, 1, NO_MERGE) +FIELD(NeedOverloadResolutionForMoveAssignment, 1, NO_MERGE) +FIELD(NeedOverloadResolutionForDestructor, 1, NO_MERGE) +/// @} + +/// These flags are \c true if an implicit defaulted corresponding +/// special member would be defined as deleted. +/// @{ +FIELD(DefaultedCopyConstructorIsDeleted, 1, NO_MERGE) +FIELD(DefaultedMoveConstructorIsDeleted, 1, NO_MERGE) +FIELD(DefaultedMoveAssignmentIsDeleted, 1, NO_MERGE) +FIELD(DefaultedDestructorIsDeleted, 1, NO_MERGE) +/// @} + +/// The trivial special members which this class has, per +/// C++11 [class.ctor]p5, C++11 [class.copy]p12, C++11 [class.copy]p25, +/// C++11 [class.dtor]p5, or would have if the member were not suppressed. +/// +/// This excludes any user-declared but not user-provided special members +/// which have been declared but not yet defined. +FIELD(HasTrivialSpecialMembers, 6, MERGE_OR) + +/// These bits keep track of the triviality of special functions for the +/// purpose of calls. Only the bits corresponding to SMF_CopyConstructor, +/// SMF_MoveConstructor, and SMF_Destructor are meaningful here. +FIELD(HasTrivialSpecialMembersForCall, 6, MERGE_OR) + +/// The declared special members of this class which are known to be +/// non-trivial. +/// +/// This excludes any user-declared but not user-provided special members +/// which have been declared but not yet defined, and any implicit special +/// members which have not yet been declared. +FIELD(DeclaredNonTrivialSpecialMembers, 6, MERGE_OR) + +/// These bits keep track of the declared special members that are +/// non-trivial for the purpose of calls. +/// Only the bits corresponding to SMF_CopyConstructor, +/// SMF_MoveConstructor, and SMF_Destructor are meaningful here. +FIELD(DeclaredNonTrivialSpecialMembersForCall, 6, MERGE_OR) + +/// True when this class has a destructor with no semantic effect. *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202001222131.00MLVnL4090075>