Date: Sun, 16 Apr 2017 16:31:21 +0000 (UTC) From: Dimitry Andric <dim@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r317030 - in projects/clang500-import/contrib/llvm/tools/clang: include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/ASTMatchers/Dynamic include/clang/Analysis incl... Message-ID: <201704161631.v3GGVLdD009112@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: dim Date: Sun Apr 16 16:31:20 2017 New Revision: 317030 URL: https://svnweb.freebsd.org/changeset/base/317030 Log: Merge clang trunk r300422 and resolve conflicts. Added: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ExternalASTMerger.h - copied unchanged from r317029, vendor/clang/dist/include/clang/AST/ExternalASTMerger.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ODRHash.h - copied unchanged from r317029, vendor/clang/dist/include/clang/AST/ODRHash.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/MemoryBufferCache.h - copied unchanged from r317029, vendor/clang/dist/include/clang/Basic/MemoryBufferCache.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/XRayLists.h - copied unchanged from r317029, vendor/clang/dist/include/clang/Basic/XRayLists.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitBuilder.h - copied unchanged from r317029, vendor/clang/dist/include/clang/CodeGen/ConstantInitBuilder.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitFuture.h - copied unchanged from r317029, vendor/clang/dist/include/clang/CodeGen/ConstantInitFuture.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/ClangOptionDocs.td - copied unchanged from r317029, vendor/clang/dist/include/clang/Driver/ClangOptionDocs.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/XRayArgs.h - copied unchanged from r317029, vendor/clang/dist/include/clang/Driver/XRayArgs.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Parse/RAIIObjectsForParser.h - copied unchanged from r317029, vendor/clang/dist/include/clang/Parse/RAIIObjectsForParser.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h - copied unchanged from r317029, vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SimpleConstraintManager.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/ - copied from r317029, vendor/clang/dist/include/clang/Tooling/Refactoring/ projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExternalASTMerger.cpp - copied unchanged from r317029, vendor/clang/dist/lib/AST/ExternalASTMerger.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp - copied unchanged from r317029, vendor/clang/dist/lib/AST/ODRHash.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/MemoryBufferCache.cpp - copied unchanged from r317029, vendor/clang/dist/lib/Basic/MemoryBufferCache.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/XRayLists.cpp - copied unchanged from r317029, vendor/clang/dist/lib/Basic/XRayLists.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGGPUBuiltin.cpp - copied unchanged from r317029, vendor/clang/dist/lib/CodeGen/CGGPUBuiltin.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ConstantInitBuilder.cpp - copied unchanged from r317029, vendor/clang/dist/lib/CodeGen/ConstantInitBuilder.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.cpp - copied unchanged from r317029, vendor/clang/dist/lib/CodeGen/MacroPPCallbacks.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/MacroPPCallbacks.h - copied unchanged from r317029, vendor/clang/dist/lib/CodeGen/MacroPPCallbacks.h projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Arch/ - copied from r317029, vendor/clang/dist/lib/Driver/Arch/ projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/ - copied from r317029, vendor/clang/dist/lib/Driver/ToolChains/ projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/XRayArgs.cpp - copied unchanged from r317029, vendor/clang/dist/lib/Driver/XRayArgs.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp - copied unchanged from r317029, vendor/clang/dist/lib/Format/NamespaceEndCommentsFixer.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.h - copied unchanged from r317029, vendor/clang/dist/lib/Format/NamespaceEndCommentsFixer.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/clzerointrin.h - copied unchanged from r317029, vendor/clang/dist/lib/Headers/clzerointrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/CoroutineStmtBuilder.h - copied unchanged from r317029, vendor/clang/dist/lib/Sema/CoroutineStmtBuilder.h projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp - copied unchanged from r317029, vendor/clang/dist/lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp - copied unchanged from r317029, vendor/clang/dist/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.h - copied unchanged from r317029, vendor/clang/dist/lib/StaticAnalyzer/Core/RangedConstraintManager.h projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp - copied unchanged from r317029, vendor/clang/dist/lib/StaticAnalyzer/Core/Z3ConstraintManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/ - copied from r317029, vendor/clang/dist/lib/Tooling/Refactoring/ projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangOptionDocEmitter.cpp - copied unchanged from r317029, vendor/clang/dist/utils/TableGen/ClangOptionDocEmitter.cpp Deleted: projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCUDABuiltin.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ConstantBuilder.h projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/CrossWindowsToolChain.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/MinGWToolChain.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/Comments.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/Comments.h projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclContextInternals.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/TypeOrdering.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsWebAssembly.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/OpenCLImageTypes.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenABITypes.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Options.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/Tool.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Format/Format.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTConsumers.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/Frontend/PCHContainerOperations.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Index/IndexSymbol.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Index/IndexingAction.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Index/USRGeneration.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/IdentifierResolver.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h projects/clang500-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Mangle.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/OSLog.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Job.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/BreakableToken.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/FormatToken.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h projects/clang500-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteMacros.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/htmxlintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/intrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/mmintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/module.modulemap projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/opencl-c.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/pmmintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/prfchwintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/smmintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/stdarg.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/tgmath.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/x86intrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Headers/xopintrin.h projects/clang500-import/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexSymbol.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexTypeSourceInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexingAction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Index/IndexingContext.h projects/clang500-import/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPCaching.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IteratorPastEndChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp projects/clang500-import/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/clang500-import/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp projects/clang500-import/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/clang500-import/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp projects/clang500-import/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h Directory Properties: projects/clang500-import/contrib/llvm/tools/clang/ (props changed) Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang-c/Index.h Sun Apr 16 16:31:20 2017 (r317030) @@ -478,8 +478,8 @@ CINDEX_LINKAGE void clang_getExpansionLo unsigned *offset); /** - * \brief Retrieve the file, line, column, and offset represented by - * the given source location, as specified in a # line directive. + * \brief Retrieve the file, line and column represented by the given source + * location, as specified in a # line directive. * * Example: given the following source code in a file somefile.c * @@ -3011,8 +3011,9 @@ enum CXTypeKind { CXType_ObjCClass = 28, CXType_ObjCSel = 29, CXType_Float128 = 30, + CXType_Half = 31, CXType_FirstBuiltin = CXType_Void, - CXType_LastBuiltin = CXType_ObjCSel, + CXType_LastBuiltin = CXType_Half, CXType_Complex = 100, CXType_Pointer = 101, @@ -3436,6 +3437,16 @@ CINDEX_LINKAGE long long clang_getArrayS CINDEX_LINKAGE CXType clang_Type_getNamedType(CXType T); /** + * \brief Determine if a typedef is 'transparent' tag. + * + * A typedef is considered 'transparent' if it shares a name and spelling + * location with its underlying tag type, as is the case with the NS_ENUM macro. + * + * \returns non-zero if transparent and zero otherwise. + */ +CINDEX_LINKAGE unsigned clang_Type_isTransparentTagTypedef(CXType T); + +/** * \brief List the possible error codes for \c clang_Type_getSizeOf, * \c clang_Type_getAlignOf, \c clang_Type_getOffsetOf and * \c clang_Cursor_getOffsetOf. @@ -4023,8 +4034,8 @@ CINDEX_LINKAGE unsigned clang_Cursor_get /** * \brief Given a cursor that represents an Objective-C method or property - * declaration, return non-zero if the declaration was affected by "@optional". - * Returns zero if the cursor is not such a declaration or it is "@required". + * declaration, return non-zero if the declaration was affected by "\@optional". + * Returns zero if the cursor is not such a declaration or it is "\@required". */ CINDEX_LINKAGE unsigned clang_Cursor_isObjCOptional(CXCursor C); @@ -4700,7 +4711,7 @@ enum CXCompletionChunkKind { */ CXCompletionChunk_HorizontalSpace, /** - * Vertical space ('\n'), after which it is generally a good idea to + * Vertical space ('\\n'), after which it is generally a good idea to * perform indentation. */ CXCompletionChunk_VerticalSpace Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Sun Apr 16 16:31:20 2017 (r317030) @@ -39,6 +39,7 @@ #include "clang/Basic/SanitizerBlacklist.h" #include "clang/Basic/SourceLocation.h" #include "clang/Basic/Specifiers.h" +#include "clang/Basic/XRayLists.h" #include "llvm/ADT/APSInt.h" #include "llvm/ADT/ArrayRef.h" #include "llvm/ADT/DenseMap.h" @@ -66,6 +67,7 @@ #include <memory> #include <new> #include <string> +#include <type_traits> #include <utility> #include <vector> @@ -167,18 +169,20 @@ class ASTContext : public RefCountedBase mutable llvm::FoldingSet<DependentUnaryTransformType> DependentUnaryTransformTypes; mutable llvm::FoldingSet<AutoType> AutoTypes; + mutable llvm::FoldingSet<DeducedTemplateSpecializationType> + DeducedTemplateSpecializationTypes; mutable llvm::FoldingSet<AtomicType> AtomicTypes; llvm::FoldingSet<AttributedType> AttributedTypes; mutable llvm::FoldingSet<PipeType> PipeTypes; mutable llvm::FoldingSet<QualifiedTemplateName> QualifiedTemplateNames; mutable llvm::FoldingSet<DependentTemplateName> DependentTemplateNames; - mutable llvm::FoldingSet<SubstTemplateTemplateParmStorage> + mutable llvm::FoldingSet<SubstTemplateTemplateParmStorage> SubstTemplateTemplateParms; mutable llvm::ContextualFoldingSet<SubstTemplateTemplateParmPackStorage, - ASTContext&> + ASTContext&> SubstTemplateTemplateParmPacks; - + /// \brief The set of nested name specifiers. /// /// This set is managed by the NestedNameSpecifier class. @@ -200,17 +204,17 @@ class ASTContext : public RefCountedBase /// \brief A cache mapping from CXXRecordDecls to key functions. llvm::DenseMap<const CXXRecordDecl*, LazyDeclPtr> KeyFunctions; - + /// \brief Mapping from ObjCContainers to their ObjCImplementations. llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*> ObjCImpls; - + /// \brief Mapping from ObjCMethod to its duplicate declaration in the same /// interface. llvm::DenseMap<const ObjCMethodDecl*,const ObjCMethodDecl*> ObjCMethodRedecls; /// \brief Mapping from __block VarDecls to their copy initialization expr. llvm::DenseMap<const VarDecl*, Expr*> BlockVarCopyInits; - + /// \brief Mapping from class scope functions specialization to their /// template patterns. llvm::DenseMap<const FunctionDecl*, FunctionDecl*> @@ -226,21 +230,21 @@ class ASTContext : public RefCountedBase /// is used in canonical template names. class CanonicalTemplateTemplateParm : public llvm::FoldingSetNode { TemplateTemplateParmDecl *Parm; - + public: - CanonicalTemplateTemplateParm(TemplateTemplateParmDecl *Parm) + CanonicalTemplateTemplateParm(TemplateTemplateParmDecl *Parm) : Parm(Parm) { } - + TemplateTemplateParmDecl *getParam() const { return Parm; } - + void Profile(llvm::FoldingSetNodeID &ID) { Profile(ID, Parm); } - - static void Profile(llvm::FoldingSetNodeID &ID, + + static void Profile(llvm::FoldingSetNodeID &ID, TemplateTemplateParmDecl *Parm); }; mutable llvm::FoldingSet<CanonicalTemplateTemplateParm> CanonTemplateTemplateParms; - + TemplateTemplateParmDecl * getCanonicalTemplateTemplateParmDecl(TemplateTemplateParmDecl *TTP) const; @@ -259,7 +263,7 @@ class ASTContext : public RefCountedBase /// \brief The typedef for the predefined \c id type. mutable TypedefDecl *ObjCIdDecl; - + /// \brief The typedef for the predefined \c SEL type. mutable TypedefDecl *ObjCSelDecl; @@ -268,7 +272,7 @@ class ASTContext : public RefCountedBase /// \brief The typedef for the predefined \c Protocol class in Objective-C. mutable ObjCInterfaceDecl *ObjCProtocolClassDecl; - + /// \brief The typedef for the predefined 'BOOL' type. mutable TypedefDecl *BOOLDecl; @@ -298,12 +302,12 @@ class ASTContext : public RefCountedBase mutable TypedefDecl *CFConstantStringTypeDecl; mutable QualType ObjCSuperType; - + QualType ObjCNSStringType; /// \brief The typedef declaration for the Objective-C "instancetype" type. TypedefDecl *ObjCInstanceTypeDecl; - + /// \brief The type for the C FILE type. TypeDecl *FILEDecl; @@ -451,11 +455,11 @@ private: /// \brief Mapping that stores parameterIndex values for ParmVarDecls when /// that value exceeds the bitfield size of ParmVarDeclBits.ParameterIndex. typedef llvm::DenseMap<const VarDecl *, unsigned> ParameterIndexTable; - ParameterIndexTable ParamIndices; - + ParameterIndexTable ParamIndices; + ImportDecl *FirstLocalImport; ImportDecl *LastLocalImport; - + TranslationUnitDecl *TUDecl; mutable ExternCContextDecl *ExternCContext; mutable BuiltinTemplateDecl *MakeIntegerSeqDecl; @@ -472,6 +476,10 @@ private: /// entities should not be instrumented. std::unique_ptr<SanitizerBlacklist> SanitizerBL; + /// \brief Function filtering mechanism to determine whether a given function + /// should be imbued with the XRay "always" or "never" attributes. + std::unique_ptr<XRayFunctionFilter> XRayFilter; + /// \brief The allocator used to create AST objects. /// /// AST objects are never destructed; rather, all memory associated with the @@ -488,7 +496,7 @@ private: /// \brief The logical -> physical address space map. const LangAS::Map *AddrSpaceMap; - /// \brief Address space map mangling must be used with language specific + /// \brief Address space map mangling must be used with language specific /// address spaces (e.g. OpenCL/CUDA) bool AddrSpaceMapMangling; @@ -500,7 +508,7 @@ private: const TargetInfo *Target; const TargetInfo *AuxTarget; clang::PrintingPolicy PrintingPolicy; - + public: IdentifierTable &Idents; SelectorTable &Selectors; @@ -604,7 +612,7 @@ public: void setPrintingPolicy(const clang::PrintingPolicy &Policy) { PrintingPolicy = Policy; } - + SourceManager& getSourceManager() { return SourceMgr; } const SourceManager& getSourceManager() const { return SourceMgr; } @@ -619,7 +627,7 @@ public: return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T))); } void Deallocate(void *Ptr) const { } - + /// Return the total amount of physical memory allocated for representing /// AST nodes and type information. size_t getASTAllocatedMemory() const { @@ -627,7 +635,7 @@ public: } /// Return the total memory used for various side tables. size_t getSideTableAllocatedMemory() const; - + PartialDiagnostic::StorageAllocator &getDiagAllocator() { return DiagAllocator; } @@ -647,13 +655,17 @@ public: QualType getRealTypeForBitwidth(unsigned DestWidth) const; bool AtomicUsesUnsupportedLibcall(const AtomicExpr *E) const; - + const LangOptions& getLangOpts() const { return LangOpts; } const SanitizerBlacklist &getSanitizerBlacklist() const { return *SanitizerBL; } + const XRayFunctionFilter &getXRayFilter() const { + return *XRayFilter; + } + DiagnosticsEngine &getDiagnostics() const; FullSourceLoc getFullLoc(SourceLocation Loc) const { @@ -862,7 +874,7 @@ public: FieldDecl *getInstantiatedFromUnnamedFieldDecl(FieldDecl *Field); void setInstantiatedFromUnnamedFieldDecl(FieldDecl *Inst, FieldDecl *Tmpl); - + // Access to the set of methods overridden by the given C++ method. typedef CXXMethodVector::const_iterator overridden_cxx_method_iterator; overridden_cxx_method_iterator @@ -878,7 +890,7 @@ public: /// \brief Note that the given C++ \p Method overrides the given \p /// Overridden method. - void addOverriddenMethod(const CXXMethodDecl *Method, + void addOverriddenMethod(const CXXMethodDecl *Method, const CXXMethodDecl *Overridden); /// \brief Return C++ or ObjC overridden methods for the given \p Method. @@ -891,7 +903,7 @@ public: void getOverriddenMethods( const NamedDecl *Method, SmallVectorImpl<const NamedDecl *> &Overridden) const; - + /// \brief Notify the AST context that a new import declaration has been /// parsed or implicitly created within this translation unit. void addedLocalImportDecl(ImportDecl *Import); @@ -899,7 +911,7 @@ public: static ImportDecl *getNextLocalImport(ImportDecl *Import) { return Import->NextLocalImport; } - + typedef llvm::iterator_range<import_iterator> import_range; import_range local_imports() const { return import_range(import_iterator(FirstLocalImport), import_iterator()); @@ -973,7 +985,7 @@ public: CanQualType SingletonId; #include "clang/Basic/OpenCLImageTypes.def" CanQualType OCLSamplerTy, OCLEventTy, OCLClkEventTy; - CanQualType OCLQueueTy, OCLNDRangeTy, OCLReserveIDTy; + CanQualType OCLQueueTy, OCLReserveIDTy; CanQualType OMPArraySectionTy; // Types for deductions in C++0x [stmt.ranged]'s desugaring. Built on demand. @@ -1179,15 +1191,15 @@ public: /// Returns true iff we need copy/dispose helpers for the given type. bool BlockRequiresCopying(QualType Ty, const VarDecl *D); - - + + /// Returns true, if given type has a known lifetime. HasByrefExtendedLayout is set /// to false in this case. If HasByrefExtendedLayout returns true, byref variable - /// has extended lifetime. + /// has extended lifetime. bool getByrefLifetime(QualType Ty, Qualifiers::ObjCLifetime &Lifetime, bool &HasByrefExtendedLayout) const; - + /// \brief Return the uniqued reference to the type for an lvalue reference /// to the specified type. QualType getLValueReferenceType(QualType T, bool SpelledAsLValue = true) @@ -1231,7 +1243,7 @@ public: QualType getConstantArrayType(QualType EltTy, const llvm::APInt &ArySize, ArrayType::ArraySizeModifier ASM, unsigned IndexTypeQuals) const; - + /// \brief Returns a vla type where known sizes are replaced with [*]. QualType getVariableArrayDecayedType(QualType Ty) const; @@ -1355,6 +1367,8 @@ public: ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS, const IdentifierInfo *Name, ArrayRef<TemplateArgument> Args) const; + TemplateArgument getInjectedTemplateArg(NamedDecl *ParamDecl); + /// Get a template argument list with one argument per template parameter /// in a template parameter list, such as for the injected class name of /// a class template. @@ -1380,7 +1394,7 @@ public: QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl, ArrayRef<ObjCProtocolDecl *> protocols, QualType Canonical = QualType()) const; - + bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl); /// QIdProtocolsAdoptObjCObjectProtocols - Checks that protocols in /// QT's qualified-id protocol list adopt all protocols in IDecl's list @@ -1412,6 +1426,11 @@ public: /// \brief C++11 deduction pattern for 'auto &&' type. QualType getAutoRRefDeductType() const; + /// \brief C++1z deduced class template specialization type. + QualType getDeducedTemplateSpecializationType(TemplateName Template, + QualType DeducedType, + bool IsDependent) const; + /// \brief Return the unique reference to the type for the specified TagDecl /// (struct/union/class/enum) decl. QualType getTagDeclType(const TagDecl *Decl) const; @@ -1471,11 +1490,11 @@ public: /// \brief Return the C structure type used to represent constant CFStrings. QualType getCFConstantStringType() const; - + /// \brief Returns the C struct type for objc_super QualType getObjCSuperType() const; void setObjCSuperType(QualType ST) { ObjCSuperType = ST; } - + /// Get the structure type used to representation CFStrings, or NULL /// if it hasn't yet been built. QualType getRawCFConstantStringType() const { @@ -1496,11 +1515,11 @@ public: QualType getObjCNSStringType() const { return ObjCNSStringType; } - + void setObjCNSStringType(QualType T) { ObjCNSStringType = T; } - + /// \brief Retrieve the type that \c id has been defined to, which may be /// different from the built-in \c id if \c id has been typedef'd. QualType getObjCIdRedefinitionType() const { @@ -1508,7 +1527,7 @@ public: return getObjCIdType(); return ObjCIdRedefinitionType; } - + /// \brief Set the user-written type that redefines \c id. void setObjCIdRedefinitionType(QualType RedefType) { ObjCIdRedefinitionType = RedefType; @@ -1521,7 +1540,7 @@ public: return getObjCClassType(); return ObjCClassRedefinitionType; } - + /// \brief Set the user-written type that redefines 'SEL'. void setObjCClassRedefinitionType(QualType RedefType) { ObjCClassRedefinitionType = RedefType; @@ -1534,7 +1553,7 @@ public: return getObjCSelType(); return ObjCSelRedefinitionType; } - + /// \brief Set the user-written type that redefines 'SEL'. void setObjCSelRedefinitionType(QualType RedefType) { ObjCSelRedefinitionType = RedefType; @@ -1586,7 +1605,7 @@ public: /// \brief Retrieve the typedef declaration corresponding to the Objective-C /// "instancetype" type. TypedefDecl *getObjCInstanceTypeDecl(); - + /// \brief Set the type for the C FILE type. void setFILEDecl(TypeDecl *FILEDecl) { this->FILEDecl = FILEDecl; } @@ -1671,7 +1690,7 @@ public: /// \brief Return the encoded type for this block declaration. std::string getObjCEncodingForBlock(const BlockExpr *blockExpr) const; - + /// getObjCEncodingForPropertyDecl - Return the encoded type for /// this method declaration. If non-NULL, Container must be either /// an ObjCCategoryImplDecl or ObjCImplementationDecl; it should @@ -1681,7 +1700,7 @@ public: bool ProtocolCompatibleWithProtocol(ObjCProtocolDecl *lProto, ObjCProtocolDecl *rProto) const; - + ObjCPropertyImplDecl *getObjCPropertyImplDeclForPropertyDecl( const ObjCPropertyDecl *PD, const Decl *Container) const; @@ -1693,7 +1712,7 @@ public: /// \brief Retrieve the typedef corresponding to the predefined \c id type /// in Objective-C. TypedefDecl *getObjCIdDecl() const; - + /// \brief Represents the Objective-CC \c id type. /// /// This is set up lazily, by Sema. \c id is always a (typedef for a) @@ -1705,26 +1724,26 @@ public: /// \brief Retrieve the typedef corresponding to the predefined 'SEL' type /// in Objective-C. TypedefDecl *getObjCSelDecl() const; - + /// \brief Retrieve the type that corresponds to the predefined Objective-C /// 'SEL' type. - QualType getObjCSelType() const { + QualType getObjCSelType() const { return getTypeDeclType(getObjCSelDecl()); } /// \brief Retrieve the typedef declaration corresponding to the predefined /// Objective-C 'Class' type. TypedefDecl *getObjCClassDecl() const; - + /// \brief Represents the Objective-C \c Class type. /// /// This is set up lazily, by Sema. \c Class is always a (typedef for a) /// pointer type, a pointer to a struct. - QualType getObjCClassType() const { + QualType getObjCClassType() const { return getTypeDeclType(getObjCClassDecl()); } - /// \brief Retrieve the Objective-C class declaration corresponding to + /// \brief Retrieve the Objective-C class declaration corresponding to /// the predefined \c Protocol class. ObjCInterfaceDecl *getObjCProtocolDecl() const; @@ -1742,12 +1761,12 @@ public: QualType getBOOLType() const { return getTypeDeclType(getBOOLDecl()); } - + /// \brief Retrieve the type of the Objective-C \c Protocol class. QualType getObjCProtoType() const { return getObjCInterfaceType(getObjCProtocolDecl()); } - + /// \brief Retrieve the C type declaration corresponding to the predefined /// \c __builtin_va_list type. TypedefDecl *getBuiltinVaListDecl() const; @@ -1810,7 +1829,7 @@ public: qs.addObjCLifetime(lifetime); return getQualifiedType(type, qs); } - + /// getUnqualifiedObjCPointerType - Returns version of /// Objective-C pointer type with lifetime qualifier removed. QualType getUnqualifiedObjCPointerType(QualType type) const { @@ -1821,7 +1840,7 @@ public: Qs.removeObjCLifetime(); return getQualifiedType(type.getUnqualifiedType(), Qs); } - + DeclarationNameInfo getNameForTemplate(TemplateName Name, SourceLocation NameLoc) const; @@ -1840,7 +1859,7 @@ public: TemplateName replacement) const; TemplateName getSubstTemplateTemplateParmPack(TemplateTemplateParmDecl *Param, const TemplateArgument &ArgPack) const; - + enum GetBuiltinTypeError { GE_None, ///< No error GE_Missing_stdio, ///< Missing a type from <stdio.h> @@ -1905,7 +1924,7 @@ public: uint64_t getCharWidth() const { return getTypeSize(CharTy); } - + /// \brief Convert a size in bits to a size in characters. CharUnits toCharUnitsFromBits(int64_t BitSize) const; @@ -1927,11 +1946,11 @@ public: /// example, from alignment attributes). unsigned getTypeAlignIfKnown(QualType T) const; - /// \brief Return the ABI-specified alignment of a (complete) type \p T, in + /// \brief Return the ABI-specified alignment of a (complete) type \p T, in /// characters. CharUnits getTypeAlignInChars(QualType T) const; CharUnits getTypeAlignInChars(const Type *T) const; - + // getTypeInfoDataSizeInChars - Return the size of a type, in chars. If the // type is a record, its data size is returned. std::pair<CharUnits, CharUnits> getTypeInfoDataSizeInChars(QualType T) const; @@ -2036,10 +2055,10 @@ public: VTableContextBase *getVTableContext(); MangleContext *createMangleContext(); - + void DeepCollectObjCIvars(const ObjCInterfaceDecl *OI, bool leafClass, SmallVectorImpl<const ObjCIvarDecl*> &Ivars) const; - + unsigned CountNonClassIvars(const ObjCInterfaceDecl *OI) const; void CollectInheritedProtocols(const Decl *CDecl, llvm::SmallPtrSet<ObjCProtocolDecl*, 8> &Protocols); @@ -2115,7 +2134,7 @@ public: *SubTnullability == NullabilityKind::Unspecified || *SuperTnullability == NullabilityKind::Unspecified) return true; - + if (IsParam) { // Ok for the superclass method parameter to be "nonnull" and the subclass // method parameter to be "nullable" @@ -2134,9 +2153,9 @@ public: bool ObjCMethodsAreEqual(const ObjCMethodDecl *MethodDecl, const ObjCMethodDecl *MethodImp); - + bool UnwrapSimilarPointerTypes(QualType &T1, QualType &T2); - + /// \brief Retrieves the "canonical" nested name specifier for a /// given nested name specifier. /// @@ -2190,7 +2209,7 @@ public: /// \brief Determine whether the given template names refer to the same /// template. bool hasSameTemplateName(TemplateName X, TemplateName Y); - + /// \brief Retrieve the "canonical" template argument. /// /// The canonical template argument is the simplest template argument @@ -2217,7 +2236,7 @@ public: const { return dyn_cast_or_null<DependentSizedArrayType>(getAsArrayType(T)); } - + /// \brief Return the innermost element type of an array type. /// /// For example, will return "int" for int[m][n] @@ -2236,14 +2255,14 @@ public: /// parameter type used by semantic analysis (C99 6.7.5.3p[7,8], /// C++ [dcl.fct]p3). The adjusted parameter type is returned. QualType getAdjustedParameterType(QualType T) const; - + /// \brief Retrieve the parameter type as adjusted for use in the signature /// of a function, decaying array and function types and removing top-level /// cv-qualifiers. QualType getSignatureParameterType(QualType T) const; - + QualType getExceptionObjectType(QualType T) const; - + /// \brief Return the properly qualified result of decaying the specified /// array type to a pointer. /// @@ -2269,7 +2288,7 @@ public: /// promotion occurs. QualType isPromotableBitField(Expr *E) const; - /// \brief Return the highest ranked integer type, see C99 6.3.1.8p1. + /// \brief Return the highest ranked integer type, see C99 6.3.1.8p1. /// /// If \p LHS > \p RHS, returns 1. If \p LHS == \p RHS, returns 0. If /// \p LHS < \p RHS, return -1. @@ -2298,12 +2317,7 @@ public: return getTargetAddressSpace(Q.getAddressSpace()); } - unsigned getTargetAddressSpace(unsigned AS) const { - if (AS < LangAS::Offset || AS >= LangAS::Offset + LangAS::Count) - return AS; - else - return (*AddrSpaceMap)[AS - LangAS::Offset]; - } + unsigned getTargetAddressSpace(unsigned AS) const; /// Get target-dependent integer value for null pointer which is used for /// constant folding. @@ -2311,8 +2325,7 @@ public: bool addressSpaceMapManglingFor(unsigned AS) const { return AddrSpaceMapMangling || - AS < LangAS::Offset || - AS >= LangAS::Offset + LangAS::Count; + AS >= LangAS::Count; } private: @@ -2325,11 +2338,11 @@ public: //===--------------------------------------------------------------------===// /// Compatibility predicates used to check assignment expressions. - bool typesAreCompatible(QualType T1, QualType T2, + bool typesAreCompatible(QualType T1, QualType T2, bool CompareUnqualified = false); // C99 6.2.7p1 - bool propertyTypesAreCompatible(QualType, QualType); - bool typesAreBlockPointerCompatible(QualType, QualType); + bool propertyTypesAreCompatible(QualType, QualType); + bool typesAreBlockPointerCompatible(QualType, QualType); bool isObjCIdType(QualType T) const { return T == getObjCIdType(); @@ -2344,7 +2357,7 @@ public: bool ForCompare); bool ObjCQualifiedClassTypesAreCompatible(QualType LHS, QualType RHS); - + // Check the safety of assignment from LHS to RHS bool canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT, const ObjCObjectPointerType *RHSOPT); @@ -2370,9 +2383,9 @@ public: QualType mergeTransparentUnionType(QualType, QualType, bool OfBlockPointer=false, bool Unqualified = false); - + QualType mergeObjCGCQualifiers(QualType, QualType); - + bool doFunctionTypesMatchOnExtParameterInfos( const FunctionProtoType *FromFunctionType, const FunctionProtoType *ToFunctionType); @@ -2442,7 +2455,7 @@ public: /// an Objective-C method/property/ivar etc. that is part of an interface, /// otherwise returns null. const ObjCInterfaceDecl *getObjContainingInterface(const NamedDecl *ND) const; - + /// \brief Set the copy inialization expression of a block var decl. void setBlockVarCopyInits(VarDecl*VD, Expr* Init); /// \brief Get the copy initialization expression of the VarDecl \p VD, or @@ -2466,10 +2479,10 @@ public: /// initialized to a given location, which defaults to the empty /// location. TypeSourceInfo * - getTrivialTypeSourceInfo(QualType T, + getTrivialTypeSourceInfo(QualType T, SourceLocation Loc = SourceLocation()) const; - /// \brief Add a deallocation callback that will be invoked when the + /// \brief Add a deallocation callback that will be invoked when the /// ASTContext is destroyed. /// /// \param Callback A callback function that will be invoked on destruction. @@ -2478,6 +2491,16 @@ public: /// when it is called. void AddDeallocation(void (*Callback)(void*), void *Data); + /// If T isn't trivially destructible, calls AddDeallocation to register it + /// for destruction. + template <typename T> + void addDestruction(T *Ptr) { + if (!std::is_trivially_destructible<T>::value) { + auto DestroyPtr = [](void *V) { static_cast<T *>(V)->~T(); }; + AddDeallocation(DestroyPtr, Ptr); + } + } + GVALinkage GetGVALinkageForFunction(const FunctionDecl *FD) const; GVALinkage GetGVALinkageForVariable(const VarDecl *VD); @@ -2534,15 +2557,15 @@ public: /// \brief The number of implicitly-declared default constructors. static unsigned NumImplicitDefaultConstructors; - - /// \brief The number of implicitly-declared default constructors for + + /// \brief The number of implicitly-declared default constructors for /// which declarations were built. static unsigned NumImplicitDefaultConstructorsDeclared; /// \brief The number of implicitly-declared copy constructors. static unsigned NumImplicitCopyConstructors; - - /// \brief The number of implicitly-declared copy constructors for + + /// \brief The number of implicitly-declared copy constructors for /// which declarations were built. static unsigned NumImplicitCopyConstructorsDeclared; @@ -2555,25 +2578,25 @@ public: /// \brief The number of implicitly-declared copy assignment operators. static unsigned NumImplicitCopyAssignmentOperators; - - /// \brief The number of implicitly-declared copy assignment operators for + + /// \brief The number of implicitly-declared copy assignment operators for /// which declarations were built. static unsigned NumImplicitCopyAssignmentOperatorsDeclared; /// \brief The number of implicitly-declared move assignment operators. static unsigned NumImplicitMoveAssignmentOperators; - - /// \brief The number of implicitly-declared move assignment operators for + + /// \brief The number of implicitly-declared move assignment operators for /// which declarations were built. static unsigned NumImplicitMoveAssignmentOperatorsDeclared; /// \brief The number of implicitly-declared destructors. static unsigned NumImplicitDestructors; - - /// \brief The number of implicitly-declared destructors for which + + /// \brief The number of implicitly-declared destructors for which /// declarations were built. static unsigned NumImplicitDestructorsDeclared; - + public: /// \brief Initialize built-in types. /// Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h Sun Apr 16 16:31:20 2017 (r317030) @@ -22,6 +22,7 @@ #include "llvm/ADT/PointerIntPair.h" #include "llvm/Support/type_traits.h" #include <algorithm> +#include <cstddef> #include <cstring> #include <memory> Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def Sun Apr 16 16:31:20 2017 (r317030) @@ -169,9 +169,6 @@ BUILTIN_TYPE(OCLClkEvent, OCLClkEventTy) // OpenCL queue_t. BUILTIN_TYPE(OCLQueue, OCLQueueTy) -// OpenCL ndrange_t. -BUILTIN_TYPE(OCLNDRange, OCLNDRangeTy) - // OpenCL reserve_id_t. BUILTIN_TYPE(OCLReserveID, OCLReserveIDTy) Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h Sun Apr 16 16:31:20 2017 (r317030) @@ -838,7 +838,7 @@ protected: /// Describes the kind of default argument for this parameter. By default /// this is none. If this is normal, then the default argument is stored in - /// the \c VarDecl initalizer expression unless we were unble to parse + /// the \c VarDecl initializer expression unless we were unable to parse /// (even an invalid) expression for the default argument. unsigned DefaultArgKind : 2; @@ -1605,9 +1605,14 @@ private: // FIXME: This can be packed into the bitfields in DeclContext. // NOTE: VC++ packs bitfields poorly if the types differ. - unsigned SClass : 2; + unsigned SClass : 3; unsigned IsInline : 1; unsigned IsInlineSpecified : 1; +protected: + // This is shared by CXXConstructorDecl, CXXConversionDecl, and + // CXXDeductionGuideDecl. + unsigned IsExplicitSpecified : 1; +private: unsigned IsVirtualAsWritten : 1; unsigned IsPure : 1; unsigned HasInheritedPrototype : 1; @@ -1708,8 +1713,9 @@ protected: StartLoc), DeclContext(DK), redeclarable_base(C), ParamInfo(nullptr), Body(), SClass(S), IsInline(isInlineSpecified), - IsInlineSpecified(isInlineSpecified), IsVirtualAsWritten(false), - IsPure(false), HasInheritedPrototype(false), HasWrittenPrototype(true), + IsInlineSpecified(isInlineSpecified), IsExplicitSpecified(false), + IsVirtualAsWritten(false), IsPure(false), + HasInheritedPrototype(false), HasWrittenPrototype(true), IsDeleted(false), IsTrivial(false), IsDefaulted(false), IsExplicitlyDefaulted(false), HasImplicitReturnZero(false), IsLateTemplateParsed(false), IsConstexpr(isConstexprSpecified), @@ -2635,12 +2641,17 @@ class TypedefNameDecl : public TypeDecl, typedef std::pair<TypeSourceInfo*, QualType> ModedTInfo; llvm::PointerUnion<TypeSourceInfo*, ModedTInfo*> MaybeModedTInfo; + // FIXME: This can be packed into the bitfields in Decl. + /// If 0, we have not computed IsTransparentTag. + /// Otherwise, IsTransparentTag is (CacheIsTransparentTag >> 1). + mutable unsigned CacheIsTransparentTag : 2; + protected: TypedefNameDecl(Kind DK, ASTContext &C, DeclContext *DC, SourceLocation StartLoc, SourceLocation IdLoc, IdentifierInfo *Id, TypeSourceInfo *TInfo) : TypeDecl(DK, DC, IdLoc, Id, StartLoc), redeclarable_base(C), - MaybeModedTInfo(TInfo) {} + MaybeModedTInfo(TInfo), CacheIsTransparentTag(0) {} typedef Redeclarable<TypedefNameDecl> redeclarable_base; TypedefNameDecl *getNextRedeclarationImpl() override { @@ -2693,11 +2704,22 @@ public: /// this typedef declaration. TagDecl *getAnonDeclWithTypedefName(bool AnyRedecl = false) const; + /// Determines if this typedef shares a name and spelling location with its + /// underlying tag type, as is the case with the NS_ENUM macro. + bool isTransparentTag() const { + if (CacheIsTransparentTag) + return CacheIsTransparentTag & 0x2; + return isTransparentTagSlow(); + } + // Implement isa/cast/dyncast/etc. static bool classof(const Decl *D) { return classofKind(D->getKind()); } static bool classofKind(Kind K) { return K >= firstTypedefName && K <= lastTypedefName; } + +private: + bool isTransparentTagSlow() const; }; /// TypedefDecl - Represents the declaration of a typedef-name via the 'typedef' @@ -3229,6 +3251,18 @@ public: return isCompleteDefinition() || isFixed(); } + /// Returns true if this enum is either annotated with + /// enum_extensibility(closed) or isn't annotated with enum_extensibility. + bool isClosed() const; + + /// Returns true if this enum is annotated with flag_enum and isn't annotated + /// with enum_extensibility(open). + bool isClosedFlag() const; + + /// Returns true if this enum is annotated with neither flag_enum nor + /// enum_extensibility(open). + bool isClosedNonFlag() const; + /// \brief Retrieve the enum definition from which this enumeration could /// be instantiated, if it is an instantiation (rather than a non-template). EnumDecl *getTemplateInstantiationPattern() const; Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h Sun Apr 16 16:31:20 2017 (r317030) @@ -654,20 +654,19 @@ public: /// a precompiled header or module) rather than having been parsed. bool isFromASTFile() const { return FromASTFile; } - /// \brief Retrieve the global declaration ID associated with this - /// declaration, which specifies where in the - unsigned getGlobalID() const { + /// \brief Retrieve the global declaration ID associated with this + /// declaration, which specifies where this Decl was loaded from. + unsigned getGlobalID() const { if (isFromASTFile()) return *((const unsigned*)this - 1); return 0; } - + /// \brief Retrieve the global ID of the module that owns this particular /// declaration. unsigned getOwningModuleID() const { if (isFromASTFile()) return *((const unsigned*)this - 2); - return 0; } @@ -1030,7 +1029,7 @@ public: void dump() const; // Same as dump(), but forces color printing. void dumpColor() const; - void dump(raw_ostream &Out) const; + void dump(raw_ostream &Out, bool Deserialize = false) const; /// \brief Looks through the Decl's underlying type to extract a FunctionType /// when possible. Will return null if the type underlying the Decl does not @@ -1811,7 +1810,8 @@ public: void dumpDeclContext() const; void dumpLookups() const; - void dumpLookups(llvm::raw_ostream &OS, bool DumpDecls = false) const; + void dumpLookups(llvm::raw_ostream &OS, bool DumpDecls = false, + bool Deserialize = false) const; private: void reconcileExternalVisibleStorage() const; Modified: projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h ============================================================================== --- projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h Sun Apr 16 16:25:46 2017 (r317029) +++ projects/clang500-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h Sun Apr 16 16:31:20 2017 (r317030) @@ -203,6 +203,11 @@ public: SourceLocation getLocStart() const LLVM_READONLY { return Range.getBegin(); } SourceLocation getLocEnd() const LLVM_READONLY { return Range.getEnd(); } + /// \brief Get the location at which the base class type was written. + SourceLocation getBaseTypeLoc() const LLVM_READONLY { + return BaseTypeInfo->getTypeLoc().getLocStart(); + } + /// \brief Determines whether the base class is a virtual base class (or not). bool isVirtual() const { return Virtual; } @@ -436,9 +441,10 @@ class CXXRecordDecl : public RecordDecl /// either by the user or implicitly. unsigned DeclaredSpecialMembers : 6; - /// \brief Whether an implicit copy constructor would have a const-qualified - /// parameter. - unsigned ImplicitCopyConstructorHasConstParam : 1; + /// \brief Whether an implicit copy constructor could have a const-qualified + /// parameter, for initializing virtual bases and for other subobjects. + unsigned ImplicitCopyConstructorCanHaveConstParamForVBase : 1; + unsigned ImplicitCopyConstructorCanHaveConstParamForNonVBase : 1; /// \brief Whether an implicit copy assignment operator would have a /// const-qualified parameter. @@ -458,6 +464,11 @@ class CXXRecordDecl : public RecordDecl /// \brief Whether we are currently parsing base specifiers. unsigned IsParsingBaseSpecifiers : 1; + unsigned HasODRHash : 1; *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201704161631.v3GGVLdD009112>