Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 20 Dec 2017 14:26:55 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r327024 - in projects/clang600-import/contrib/llvm/tools/clang: include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/ASTMatchers/Dynamic include/clang...
Message-ID:  <201712201426.vBKEQtpQ062856@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Wed Dec 20 14:26:54 2017
New Revision: 327024
URL: https://svnweb.freebsd.org/changeset/base/327024

Log:
  Merge clang trunk r321017 to contrib/llvm/tools/clang.

Added:
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DataCollection.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/AST/DataCollection.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/QualTypeNames.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/AST/QualTypeNames.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/StmtDataCollectors.td
     - copied unchanged from r327023, vendor/clang/dist/include/clang/AST/StmtDataCollectors.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisDeclContext.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Analysis/AnalysisDeclContext.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/BodyFarm.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Analysis/BodyFarm.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/AlignedAllocation.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/AlignedAllocation.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCrossTUKinds.td
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/DiagnosticCrossTUKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticError.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/DiagnosticError.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticRefactoringKinds.td
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/DiagnosticRefactoringKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/SanitizerSpecialCaseList.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/SanitizerSpecialCaseList.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/SyncScope.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/SyncScope.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/X86Target.def
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Basic/X86Target.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/CrossTU/
     - copied from r327023, vendor/clang/dist/include/clang/CrossTU/
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/VariadicMacroSupport.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Lex/VariadicMacroSupport.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/ASTDiff/
     - copied from r327023, vendor/clang/dist/include/clang/Tooling/ASTDiff/
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Execution.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Execution.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/ASTSelection.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/ASTSelection.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Extract/
     - copied from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/Extract/
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringAction.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringAction.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringActionRule.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringActionRule.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringActionRuleRequirements.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringActionRules.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringActionRules.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringActionRulesInternal.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringDiagnostic.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringDiagnostic.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringOption.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringOption.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringOptionVisitor.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringOptionVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringOptions.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringResultConsumer.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringResultConsumer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RefactoringRuleContext.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/RefactoringRuleContext.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Rename/SymbolName.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/Rename/SymbolName.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Rename/SymbolOccurrences.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/Refactoring/Rename/SymbolOccurrences.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/StandaloneExecution.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/StandaloneExecution.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/ToolExecutorPluginRegistry.h
     - copied unchanged from r327023, vendor/clang/dist/include/clang/Tooling/ToolExecutorPluginRegistry.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DataCollection.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/AST/DataCollection.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Linkage.h
     - copied unchanged from r327023, vendor/clang/dist/lib/AST/Linkage.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/QualTypeNames.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/AST/QualTypeNames.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/SanitizerSpecialCaseList.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Basic/SanitizerSpecialCaseList.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Targets/
     - copied from r327023, vendor/clang/dist/lib/Basic/Targets/
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Targets.h
     - copied unchanged from r327023, vendor/clang/dist/lib/Basic/Targets.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/ConstantEmitter.h
     - copied unchanged from r327023, vendor/clang/dist/lib/CodeGen/ConstantEmitter.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CrossTU/
     - copied from r327023, vendor/clang/dist/lib/CrossTU/
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/FormatInternal.h
     - copied unchanged from r327023, vendor/clang/dist/lib/Format/FormatInternal.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/arm64intr.h
     - copied unchanged from r327023, vendor/clang/dist/lib/Headers/arm64intr.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512vpopcntdqvlintrin.h
     - copied unchanged from r327023, vendor/clang/dist/lib/Headers/avx512vpopcntdqvlintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/cetintrin.h
     - copied unchanged from r327023, vendor/clang/dist/lib/Headers/cetintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/clwbintrin.h
     - copied unchanged from r327023, vendor/clang/dist/lib/Headers/clwbintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/StaticAnalyzer/Checkers/DeleteWithNonVirtualDtorChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/StaticAnalyzer/Checkers/NonnullGlobalConstantsChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/StaticAnalyzer/Core/LoopUnrolling.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/ASTDiff/
     - copied from r327023, vendor/clang/dist/lib/Tooling/ASTDiff/
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Execution.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Tooling/Execution.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/ASTSelection.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Tooling/Refactoring/ASTSelection.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Tooling/Refactoring/ASTSelectionRequirements.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Extract/
     - copied from r327023, vendor/clang/dist/lib/Tooling/Refactoring/Extract/
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/RefactoringActions.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Tooling/Refactoring/RefactoringActions.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/SymbolOccurrences.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Tooling/Refactoring/Rename/SymbolOccurrences.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/StandaloneExecution.cpp
     - copied unchanged from r327023, vendor/clang/dist/lib/Tooling/StandaloneExecution.cpp
  projects/clang600-import/contrib/llvm/tools/clang/utils/TableGen/ClangDataCollectorsEmitter.cpp
     - copied unchanged from r327023, vendor/clang/dist/utils/TableGen/ClangDataCollectorsEmitter.cpp
Deleted:
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Core/QualTypeNames.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CrossTU/CMakeLists.txt
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Bitrig.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Bitrig.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/ASTDiff/CMakeLists.txt
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Core/QualTypeNames.cpp
Modified:
  projects/clang600-import/contrib/llvm/tools/clang/include/clang-c/Index.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/BaseSubobject.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/CommentVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclContextInternals.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclGroup.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclLookups.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/DependentDiagnostic.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/Expr.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ExternalASTMerger.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/GlobalDecl.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/Stmt.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/StmtGraphTraits.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/Type.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/VTTBuilder.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Parser.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Registry.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Consumed.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Dominators.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/LiveVariables.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/PostOrderCFGView.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Analysis/Support/BumpVector.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/AddressSpaces.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/AllDiagnostics.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Attr.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Attributes.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsHexagon.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86_64.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/CharInfo.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Cuda.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/LLVM.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Module.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensions.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/OperatorKinds.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/OperatorPrecedence.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/SanitizerBlacklist.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManagerInternals.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/TypeTraits.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenABITypes.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/CodeGen/ConstantInitFuture.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Distro.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Job.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Driver/XRayArgs.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Format/Format.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/CommandLineSourceLoc.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/LangStandard.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/PrecompiledPreamble.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticBuffer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Index/IndexDataConsumer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Index/IndexSymbol.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleLoader.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/MultipleIncludeOpt.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Parse/ParseAST.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/Overload.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/Scope.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Sema/SemaInternal.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Analyses.def
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Core/Replacement.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/AtomicChange.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/RecursiveSymbolVisitor.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Rename/RenamingAction.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Rename/USRFindingAction.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring/Rename/USRLocFinder.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h
  projects/clang600-import/contrib/llvm/tools/clang/include/clang/module.modulemap
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ASTStructuralEquivalence.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/CXXABI.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclFriend.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclGroup.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ExprObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ExternalASTMerger.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Mangle.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/ODRHash.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/RecordLayout.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Stmt.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/StmtIterator.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/VTTBuilder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/CocoaConventions.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Builtins.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Cuda.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Module.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/OperatorPrecedence.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/SanitizerBlacklist.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Basic/XRayLists.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenABITypes.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypeCache.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/SanitizerMetadata.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/Distro.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/Job.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/AMDGPU.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Ananas.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/AArch64.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/ARM.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/ARM.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/Mips.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/PPC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/PPC.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Arch/X86.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/BareMetal.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/BareMetal.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Clang.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/CloudABI.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/CommonArgs.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/CommonArgs.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/CrossWindows.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Cuda.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Cuda.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Darwin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/DragonFly.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Fuchsia.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Fuchsia.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Gnu.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hexagon.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Hexagon.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Linux.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/MSVC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/MinGW.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Minix.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/NaCl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/NetBSD.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/OpenBSD.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/PS4CPU.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/Solaris.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/WebAssembly.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/ToolChains/WebAssembly.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Driver/XRayArgs.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/BreakableToken.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/Format.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/FormatToken.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/FormatToken.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/NamespaceEndCommentsFixer.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/SortJavaScriptImports.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/TokenAnalyzer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/TokenAnalyzer.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/UsingDeclarationsSorter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/UsingDeclarationsSorter.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/PrecompiledPreamble.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticBuffer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_cmath.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_intrinsics.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_math_forward_declares.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_runtime_wrapper.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512cdintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512vlcdintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/clflushoptintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/cuda_wrappers/algorithm
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/cuda_wrappers/new
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/float.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/fma4intrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/fmaintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/immintrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/intrin.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/opencl-c.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/stdbool.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Headers/unwind.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/CodegenNameGenerator.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/IndexDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/IndexSymbol.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/IndexTypeSourceInfo.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/IndexingAction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/PreprocessorLexer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/TokenConcatenation.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Serialization/MultiOnDiskHashTable.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MisusedMovedObjectChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangedConstraintManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/AtomicChange.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/RenamingAction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/USRFindingAction.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
  projects/clang600-import/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp
  projects/clang600-import/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp
  projects/clang600-import/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp
  projects/clang600-import/contrib/llvm/tools/clang/tools/driver/driver.cpp
  projects/clang600-import/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp
  projects/clang600-import/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp
  projects/clang600-import/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h
Directory Properties:
  projects/clang600-import/contrib/llvm/tools/clang/   (props changed)

Modified: projects/clang600-import/contrib/llvm/tools/clang/include/clang-c/Index.h
==============================================================================
--- projects/clang600-import/contrib/llvm/tools/clang/include/clang-c/Index.h	Wed Dec 20 14:16:56 2017	(r327023)
+++ projects/clang600-import/contrib/llvm/tools/clang/include/clang-c/Index.h	Wed Dec 20 14:26:54 2017	(r327024)
@@ -32,7 +32,7 @@
  * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
  */
 #define CINDEX_VERSION_MAJOR 0
-#define CINDEX_VERSION_MINOR 43
+#define CINDEX_VERSION_MINOR 45
 
 #define CINDEX_VERSION_ENCODE(major, minor) ( \
       ((major) * 10000)                       \
@@ -334,6 +334,16 @@ CINDEX_LINKAGE void clang_CXIndex_setGlobalOptions(CXI
 CINDEX_LINKAGE unsigned clang_CXIndex_getGlobalOptions(CXIndex);
 
 /**
+ * \brief Sets the invocation emission path option in a CXIndex.
+ *
+ * The invocation emission path specifies a path which will contain log
+ * files for certain libclang invocations. A null value (default) implies that
+ * libclang invocations are not logged..
+ */
+CINDEX_LINKAGE void
+clang_CXIndex_setInvocationEmissionPathOption(CXIndex, const char *Path);
+
+/**
  * \defgroup CINDEX_FILES File manipulation routines
  *
  * @{
@@ -394,6 +404,21 @@ CINDEX_LINKAGE CXFile clang_getFile(CXTranslationUnit 
                                     const char *file_name);
 
 /**
+ * \brief Retrieve the buffer associated with the given file.
+ *
+ * \param tu the translation unit
+ *
+ * \param file the file for which to retrieve the buffer.
+ *
+ * \param size [out] if non-NULL, will be set to the size of the buffer.
+ *
+ * \returns a pointer to the buffer in memory that holds the contents of
+ * \p file, or a NULL pointer when the file is not loaded.
+ */
+CINDEX_LINKAGE const char *clang_getFileContents(CXTranslationUnit tu,
+                                                 CXFile file, size_t *size);
+
+/**
  * \brief Returns non-zero if the \c file1 and \c file2 point to the same file,
  * or they are both NULL.
  */
@@ -2837,6 +2862,22 @@ enum CXLanguageKind {
 CINDEX_LINKAGE enum CXLanguageKind clang_getCursorLanguage(CXCursor cursor);
 
 /**
+ * \brief Describe the "thread-local storage (TLS) kind" of the declaration
+ * referred to by a cursor.
+ */
+enum CXTLSKind {
+  CXTLS_None = 0,
+  CXTLS_Dynamic,
+  CXTLS_Static
+};
+
+/**
+ * \brief Determine the "thread-local storage (TLS) kind" of the declaration
+ * referred to by a cursor.
+ */
+CINDEX_LINKAGE enum CXTLSKind clang_getCursorTLSKind(CXCursor cursor);
+
+/**
  * \brief Returns the translation unit that a cursor originated from.
  */
 CINDEX_LINKAGE CXTranslationUnit clang_Cursor_getTranslationUnit(CXCursor);
@@ -3115,8 +3156,9 @@ enum CXTypeKind {
   CXType_ObjCSel = 29,
   CXType_Float128 = 30,
   CXType_Half = 31,
+  CXType_Float16 = 32,
   CXType_FirstBuiltin = CXType_Void,
-  CXType_LastBuiltin  = CXType_Half,
+  CXType_LastBuiltin  = CXType_Float16,
 
   CXType_Complex = 100,
   CXType_Pointer = 101,
@@ -4276,6 +4318,12 @@ CINDEX_LINKAGE CXString clang_Cursor_getMangling(CXCur
 CINDEX_LINKAGE CXStringSet *clang_Cursor_getCXXManglings(CXCursor);
 
 /**
+ * \brief Retrieve the CXStrings representing the mangled symbols of the ObjC
+ * class interface or implementation at the cursor.
+ */
+CINDEX_LINKAGE CXStringSet *clang_Cursor_getObjCManglings(CXCursor);
+
+/**
  * @}
  */
 
@@ -4417,6 +4465,12 @@ CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCur
  * one of the base classes.
  */
 CINDEX_LINKAGE unsigned clang_CXXMethod_isVirtual(CXCursor C);
+
+/**
+ * \brief Determine if a C++ record is abstract, i.e. whether a class or struct
+ * has a pure virtual member function.
+ */
+CINDEX_LINKAGE unsigned clang_CXXRecord_isAbstract(CXCursor C);
 
 /**
  * \brief Determine if an enum declaration refers to a scoped enum.

Modified: projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
==============================================================================
--- projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h	Wed Dec 20 14:16:56 2017	(r327023)
+++ projects/clang600-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h	Wed Dec 20 14:26:54 2017	(r327024)
@@ -1,4 +1,4 @@
-//===--- ASTContext.h - Context to hold long-lived AST nodes ----*- C++ -*-===//
+//===- ASTContext.h - Context to hold long-lived AST nodes ------*- C++ -*-===//
 //
 //                     The LLVM Compiler Infrastructure
 //
@@ -6,10 +6,10 @@
 // License. See LICENSE.TXT for details.
 //
 //===----------------------------------------------------------------------===//
-///
+//
 /// \file
 /// \brief Defines the clang::ASTContext interface.
-///
+//
 //===----------------------------------------------------------------------===//
 
 #ifndef LLVM_CLANG_AST_ASTCONTEXT_H
@@ -19,8 +19,8 @@
 #include "clang/AST/CanonicalType.h"
 #include "clang/AST/CommentCommandTraits.h"
 #include "clang/AST/Decl.h"
-#include "clang/AST/DeclarationName.h"
 #include "clang/AST/DeclBase.h"
+#include "clang/AST/DeclarationName.h"
 #include "clang/AST/ExternalASTSource.h"
 #include "clang/AST/NestedNameSpecifier.h"
 #include "clang/AST/PrettyPrinter.h"
@@ -30,32 +30,32 @@
 #include "clang/AST/Type.h"
 #include "clang/Basic/AddressSpaces.h"
 #include "clang/Basic/IdentifierTable.h"
+#include "clang/Basic/LLVM.h"
 #include "clang/Basic/LangOptions.h"
 #include "clang/Basic/Linkage.h"
-#include "clang/Basic/LLVM.h"
-#include "clang/Basic/Module.h"
 #include "clang/Basic/OperatorKinds.h"
 #include "clang/Basic/PartialDiagnostic.h"
 #include "clang/Basic/SanitizerBlacklist.h"
 #include "clang/Basic/SourceLocation.h"
 #include "clang/Basic/Specifiers.h"
+#include "clang/Basic/TargetInfo.h"
 #include "clang/Basic/XRayLists.h"
 #include "llvm/ADT/APSInt.h"
 #include "llvm/ADT/ArrayRef.h"
 #include "llvm/ADT/DenseMap.h"
 #include "llvm/ADT/FoldingSet.h"
 #include "llvm/ADT/IntrusiveRefCntPtr.h"
-#include "llvm/ADT/iterator_range.h"
 #include "llvm/ADT/MapVector.h"
 #include "llvm/ADT/None.h"
 #include "llvm/ADT/Optional.h"
 #include "llvm/ADT/PointerIntPair.h"
 #include "llvm/ADT/PointerUnion.h"
-#include "llvm/ADT/SmallPtrSet.h"
 #include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/TinyPtrVector.h"
 #include "llvm/ADT/StringMap.h"
 #include "llvm/ADT/StringRef.h"
+#include "llvm/ADT/TinyPtrVector.h"
+#include "llvm/ADT/Triple.h"
+#include "llvm/ADT/iterator_range.h"
 #include "llvm/Support/AlignOf.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/Casting.h"
@@ -65,7 +65,6 @@
 #include <cstdint>
 #include <iterator>
 #include <memory>
-#include <new>
 #include <string>
 #include <type_traits>
 #include <utility>
@@ -75,50 +74,72 @@ namespace llvm {
 
 struct fltSemantics;
 
-} // end namespace llvm
+} // namespace llvm
 
 namespace clang {
 
+class APValue;
 class ASTMutationListener;
 class ASTRecordLayout;
 class AtomicExpr;
 class BlockExpr;
+class BuiltinTemplateDecl;
 class CharUnits;
 class CXXABI;
+class CXXConstructorDecl;
+class CXXMethodDecl;
+class CXXRecordDecl;
 class DiagnosticsEngine;
 class Expr;
+class MangleContext;
 class MangleNumberingContext;
 class MaterializeTemporaryExpr;
-class TargetInfo;
-// Decls
-class MangleContext;
+class MemberSpecializationInfo;
+class Module;
+class ObjCCategoryDecl;
+class ObjCCategoryImplDecl;
+class ObjCContainerDecl;
+class ObjCImplDecl;
+class ObjCImplementationDecl;
+class ObjCInterfaceDecl;
 class ObjCIvarDecl;
+class ObjCMethodDecl;
 class ObjCPropertyDecl;
+class ObjCPropertyImplDecl;
+class ObjCProtocolDecl;
+class ObjCTypeParamDecl;
+class Preprocessor;
+class Stmt;
+class StoredDeclsMap;
+class TemplateDecl;
+class TemplateParameterList;
+class TemplateTemplateParmDecl;
+class TemplateTypeParmDecl;
 class UnresolvedSetIterator;
-class UsingDecl;
 class UsingShadowDecl;
+class VarTemplateDecl;
 class VTableContextBase;
 
 namespace Builtin {
 
-  class Context;
+class Context;
 
-} // end namespace Builtin
+} // namespace Builtin
 
 enum BuiltinTemplateKind : int;
 
 namespace comments {
 
-  class FullComment;
+class FullComment;
 
-} // end namespace comments
+} // namespace comments
 
 struct TypeInfo {
-  uint64_t Width;
-  unsigned Align;
+  uint64_t Width = 0;
+  unsigned Align = 0;
   bool AlignIsRequired : 1;
 
-  TypeInfo() : Width(0), Align(0), AlignIsRequired(false) {}
+  TypeInfo() : AlignIsRequired(false) {}
   TypeInfo(uint64_t Width, unsigned Align, bool AlignIsRequired)
       : Width(Width), Align(Align), AlignIsRequired(AlignIsRequired) {}
 };
@@ -126,7 +147,7 @@ struct TypeInfo {
 /// \brief Holds long-lived AST nodes (such as types and decls) that can be
 /// referred to throughout the semantic analysis of a file.
 class ASTContext : public RefCountedBase<ASTContext> {
-  ASTContext &this_() { return *this; }
+  friend class NestedNameSpecifier;
 
   mutable SmallVector<Type *, 0> Types;
   mutable llvm::FoldingSet<ExtQuals> ExtQualNodes;
@@ -143,6 +164,8 @@ class ASTContext : public RefCountedBase<ASTContext> {
   mutable llvm::FoldingSet<DependentSizedArrayType> DependentSizedArrayTypes;
   mutable llvm::FoldingSet<DependentSizedExtVectorType>
     DependentSizedExtVectorTypes;
+  mutable llvm::FoldingSet<DependentAddressSpaceType>
+      DependentAddressSpaceTypes;
   mutable llvm::FoldingSet<VectorType> VectorTypes;
   mutable llvm::FoldingSet<FunctionNoProtoType> FunctionNoProtoTypes;
   mutable llvm::ContextualFoldingSet<FunctionProtoType, ASTContext&>
@@ -187,8 +210,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   ///
   /// This set is managed by the NestedNameSpecifier class.
   mutable llvm::FoldingSet<NestedNameSpecifier> NestedNameSpecifiers;
-  mutable NestedNameSpecifier *GlobalNestedNameSpecifier;
-  friend class NestedNameSpecifier;
+  mutable NestedNameSpecifier *GlobalNestedNameSpecifier = nullptr;
 
   /// \brief A cache mapping from RecordDecls to ASTRecordLayouts.
   ///
@@ -199,7 +221,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
     ObjCLayouts;
 
   /// \brief A cache from types to size and alignment information.
-  typedef llvm::DenseMap<const Type *, struct TypeInfo> TypeInfoMap;
+  using TypeInfoMap = llvm::DenseMap<const Type *, struct TypeInfo>;
   mutable TypeInfoMap MemoizedTypeInfo;
 
   /// \brief A cache mapping from CXXRecordDecls to key functions.
@@ -233,7 +255,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   public:
     CanonicalTemplateTemplateParm(TemplateTemplateParmDecl *Parm)
-      : Parm(Parm) { }
+        : Parm(Parm) {}
 
     TemplateTemplateParmDecl *getParam() const { return Parm; }
 
@@ -249,32 +271,32 @@ class ASTContext : public RefCountedBase<ASTContext> {
     getCanonicalTemplateTemplateParmDecl(TemplateTemplateParmDecl *TTP) const;
 
   /// \brief The typedef for the __int128_t type.
-  mutable TypedefDecl *Int128Decl;
+  mutable TypedefDecl *Int128Decl = nullptr;
 
   /// \brief The typedef for the __uint128_t type.
-  mutable TypedefDecl *UInt128Decl;
+  mutable TypedefDecl *UInt128Decl = nullptr;
 
   /// \brief The typedef for the target specific predefined
   /// __builtin_va_list type.
-  mutable TypedefDecl *BuiltinVaListDecl;
+  mutable TypedefDecl *BuiltinVaListDecl = nullptr;
 
   /// The typedef for the predefined \c __builtin_ms_va_list type.
-  mutable TypedefDecl *BuiltinMSVaListDecl;
+  mutable TypedefDecl *BuiltinMSVaListDecl = nullptr;
 
   /// \brief The typedef for the predefined \c id type.
-  mutable TypedefDecl *ObjCIdDecl;
+  mutable TypedefDecl *ObjCIdDecl = nullptr;
 
   /// \brief The typedef for the predefined \c SEL type.
-  mutable TypedefDecl *ObjCSelDecl;
+  mutable TypedefDecl *ObjCSelDecl = nullptr;
 
   /// \brief The typedef for the predefined \c Class type.
-  mutable TypedefDecl *ObjCClassDecl;
+  mutable TypedefDecl *ObjCClassDecl = nullptr;
 
   /// \brief The typedef for the predefined \c Protocol class in Objective-C.
-  mutable ObjCInterfaceDecl *ObjCProtocolClassDecl;
+  mutable ObjCInterfaceDecl *ObjCProtocolClassDecl = nullptr;
 
   /// \brief The typedef for the predefined 'BOOL' type.
-  mutable TypedefDecl *BOOLDecl;
+  mutable TypedefDecl *BOOLDecl = nullptr;
 
   // Typedefs which may be provided defining the structure of Objective-C
   // pseudo-builtins
@@ -298,42 +320,42 @@ class ASTContext : public RefCountedBase<ASTContext> {
   mutable IdentifierInfo *TypePackElementName = nullptr;
 
   QualType ObjCConstantStringType;
-  mutable RecordDecl *CFConstantStringTagDecl;
-  mutable TypedefDecl *CFConstantStringTypeDecl;
+  mutable RecordDecl *CFConstantStringTagDecl = nullptr;
+  mutable TypedefDecl *CFConstantStringTypeDecl = nullptr;
 
   mutable QualType ObjCSuperType;
 
   QualType ObjCNSStringType;
 
   /// \brief The typedef declaration for the Objective-C "instancetype" type.
-  TypedefDecl *ObjCInstanceTypeDecl;
+  TypedefDecl *ObjCInstanceTypeDecl = nullptr;
 
   /// \brief The type for the C FILE type.
-  TypeDecl *FILEDecl;
+  TypeDecl *FILEDecl = nullptr;
 
   /// \brief The type for the C jmp_buf type.
-  TypeDecl *jmp_bufDecl;
+  TypeDecl *jmp_bufDecl = nullptr;
 
   /// \brief The type for the C sigjmp_buf type.
-  TypeDecl *sigjmp_bufDecl;
+  TypeDecl *sigjmp_bufDecl = nullptr;
 
   /// \brief The type for the C ucontext_t type.
-  TypeDecl *ucontext_tDecl;
+  TypeDecl *ucontext_tDecl = nullptr;
 
   /// \brief Type for the Block descriptor for Blocks CodeGen.
   ///
   /// Since this is only used for generation of debug info, it is not
   /// serialized.
-  mutable RecordDecl *BlockDescriptorType;
+  mutable RecordDecl *BlockDescriptorType = nullptr;
 
   /// \brief Type for the Block descriptor for Blocks CodeGen.
   ///
   /// Since this is only used for generation of debug info, it is not
   /// serialized.
-  mutable RecordDecl *BlockDescriptorExtendedType;
+  mutable RecordDecl *BlockDescriptorExtendedType = nullptr;
 
   /// \brief Declaration for the CUDA cudaConfigureCall function.
-  FunctionDecl *cudaConfigureCallDecl;
+  FunctionDecl *cudaConfigureCallDecl = nullptr;
 
   /// \brief Keeps track of all declaration attributes.
   ///
@@ -363,12 +385,19 @@ class ASTContext : public RefCountedBase<ASTContext> {
   };
   llvm::DenseMap<Module*, PerModuleInitializers*> ModuleInitializers;
 
+  ASTContext &this_() { return *this; }
+
 public:
   /// \brief A type synonym for the TemplateOrInstantiation mapping.
-  typedef llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>
-  TemplateOrSpecializationInfo;
+  using TemplateOrSpecializationInfo =
+      llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>;
 
 private:
+  friend class ASTDeclReader;
+  friend class ASTReader;
+  friend class ASTWriter;
+  friend class CXXRecordDecl;
+
   /// \brief A mapping to contain the template or declaration that
   /// a variable declaration describes or was instantiated from,
   /// respectively.
@@ -438,7 +467,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// Since most C++ member functions aren't virtual and therefore
   /// don't override anything, we store the overridden functions in
   /// this map on the side rather than within the CXXMethodDecl structure.
-  typedef llvm::TinyPtrVector<const CXXMethodDecl*> CXXMethodVector;
+  using CXXMethodVector = llvm::TinyPtrVector<const CXXMethodDecl *>;
   llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;
 
   /// \brief Mapping from each declaration context to its corresponding
@@ -454,18 +483,18 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   /// \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;
+  using ParameterIndexTable = llvm::DenseMap<const VarDecl *, unsigned>;
   ParameterIndexTable ParamIndices;
 
-  ImportDecl *FirstLocalImport;
-  ImportDecl *LastLocalImport;
+  ImportDecl *FirstLocalImport = nullptr;
+  ImportDecl *LastLocalImport = nullptr;
 
   TranslationUnitDecl *TUDecl;
-  mutable ExternCContextDecl *ExternCContext;
-  mutable BuiltinTemplateDecl *MakeIntegerSeqDecl;
-  mutable BuiltinTemplateDecl *TypePackElementDecl;
+  mutable ExternCContextDecl *ExternCContext = nullptr;
+  mutable BuiltinTemplateDecl *MakeIntegerSeqDecl = nullptr;
+  mutable BuiltinTemplateDecl *TypePackElementDecl = nullptr;
 
-  /// \brief The associated SourceManager object.a
+  /// \brief The associated SourceManager object.
   SourceManager &SourceMgr;
 
   /// \brief The language options used to create the AST associated with
@@ -494,19 +523,14 @@ class ASTContext : public RefCountedBase<ASTContext> {
   CXXABI *createCXXABI(const TargetInfo &T);
 
   /// \brief The logical -> physical address space map.
-  const LangAS::Map *AddrSpaceMap;
+  const LangASMap *AddrSpaceMap = nullptr;
 
   /// \brief Address space map mangling must be used with language specific
   /// address spaces (e.g. OpenCL/CUDA)
   bool AddrSpaceMapMangling;
 
-  friend class ASTDeclReader;
-  friend class ASTReader;
-  friend class ASTWriter;
-  friend class CXXRecordDecl;
-
-  const TargetInfo *Target;
-  const TargetInfo *AuxTarget;
+  const TargetInfo *Target = nullptr;
+  const TargetInfo *AuxTarget = nullptr;
   clang::PrintingPolicy PrintingPolicy;
 
 public:
@@ -515,31 +539,33 @@ class ASTContext : public RefCountedBase<ASTContext> {
   Builtin::Context &BuiltinInfo;
   mutable DeclarationNameTable DeclarationNames;
   IntrusiveRefCntPtr<ExternalASTSource> ExternalSource;
-  ASTMutationListener *Listener;
+  ASTMutationListener *Listener = nullptr;
 
   /// \brief Contains parents of a node.
-  typedef llvm::SmallVector<ast_type_traits::DynTypedNode, 2> ParentVector;
+  using ParentVector = llvm::SmallVector<ast_type_traits::DynTypedNode, 2>;
 
   /// \brief Maps from a node to its parents. This is used for nodes that have
   /// pointer identity only, which are more common and we can save space by
   /// only storing a unique pointer to them.
-  typedef llvm::DenseMap<const void *,
-                         llvm::PointerUnion4<const Decl *, const Stmt *,
-                                             ast_type_traits::DynTypedNode *,
-                                             ParentVector *>> ParentMapPointers;
+  using ParentMapPointers =
+      llvm::DenseMap<const void *,
+                     llvm::PointerUnion4<const Decl *, const Stmt *,
+                                         ast_type_traits::DynTypedNode *,
+                                         ParentVector *>>;
 
   /// Parent map for nodes without pointer identity. We store a full
   /// DynTypedNode for all keys.
-  typedef llvm::DenseMap<
-      ast_type_traits::DynTypedNode,
-      llvm::PointerUnion4<const Decl *, const Stmt *,
-                          ast_type_traits::DynTypedNode *, ParentVector *>>
-      ParentMapOtherNodes;
+  using ParentMapOtherNodes =
+      llvm::DenseMap<ast_type_traits::DynTypedNode,
+                     llvm::PointerUnion4<const Decl *, const Stmt *,
+                                         ast_type_traits::DynTypedNode *,
+                                         ParentVector *>>;
 
   /// Container for either a single DynTypedNode or for an ArrayRef to
   /// DynTypedNode. For use with ParentMap.
   class DynTypedNodeList {
-    typedef ast_type_traits::DynTypedNode DynTypedNode;
+    using DynTypedNode = ast_type_traits::DynTypedNode;
+
     llvm::AlignedCharArrayUnion<ast_type_traits::DynTypedNode,
                                 ArrayRef<DynTypedNode>> Storage;
     bool IsSingleNode;
@@ -548,6 +574,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
     DynTypedNodeList(const DynTypedNode &N) : IsSingleNode(true) {
       new (Storage.buffer) DynTypedNode(N);
     }
+
     DynTypedNodeList(ArrayRef<DynTypedNode> A) : IsSingleNode(false) {
       new (Storage.buffer) ArrayRef<DynTypedNode>(A);
     }
@@ -626,13 +653,14 @@ class ASTContext : public RefCountedBase<ASTContext> {
   template <typename T> T *Allocate(size_t Num = 1) const {
     return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
   }
-  void Deallocate(void *Ptr) const { }
+  void Deallocate(void *Ptr) const {}
 
   /// Return the total amount of physical memory allocated for representing
   /// AST nodes and type information.
   size_t getASTAllocatedMemory() const {
     return BumpAlloc.getTotalMemory();
   }
+
   /// Return the total memory used for various side tables.
   size_t getSideTableAllocatedMemory() const;
 
@@ -649,6 +677,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// Returns empty type if there is no appropriate target types.
   QualType getIntTypeForBitwidth(unsigned DestWidth,
                                  unsigned Signed) const;
+
   /// getRealTypeForBitwidth -
   /// sets floating point QualTy according to specified bitwidth.
   /// Returns empty type if there is no appropriate target types.
@@ -676,7 +705,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   RawCommentList Comments;
 
   /// \brief True if comments are already loaded from ExternalASTSource.
-  mutable bool CommentsLoaded;
+  mutable bool CommentsLoaded = false;
 
   class RawCommentAndCacheFlags {
   public:
@@ -759,24 +788,24 @@ class ASTContext : public RefCountedBase<ASTContext> {
   }
 
   /// \brief Return the documentation comment attached to a given declaration.
-  /// Returns NULL if no comment is attached.
+  /// Returns nullptr if no comment is attached.
   ///
-  /// \param OriginalDecl if not NULL, is set to declaration AST node that had
-  /// the comment, if the comment we found comes from a redeclaration.
+  /// \param OriginalDecl if not nullptr, is set to declaration AST node that
+  /// had the comment, if the comment we found comes from a redeclaration.
   const RawComment *
   getRawCommentForAnyRedecl(const Decl *D,
                             const Decl **OriginalDecl = nullptr) const;
 
   /// Return parsed documentation comment attached to a given declaration.
-  /// Returns NULL if no comment is attached.
+  /// Returns nullptr if no comment is attached.
   ///
-  /// \param PP the Preprocessor used with this TU.  Could be NULL if
+  /// \param PP the Preprocessor used with this TU.  Could be nullptr if
   /// preprocessor is not available.
   comments::FullComment *getCommentForDecl(const Decl *D,
                                            const Preprocessor *PP) const;
 
   /// Return parsed documentation comment attached to a given declaration.
-  /// Returns NULL if no comment is attached. Does not look at any
+  /// Returns nullptr if no comment is attached. Does not look at any
   /// redeclarations of the declaration.
   comments::FullComment *getLocalCommentForDeclUncached(const Decl *D) const;
 
@@ -788,16 +817,16 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   /// \brief Iterator that visits import declarations.
   class import_iterator {
-    ImportDecl *Import;
+    ImportDecl *Import = nullptr;
 
   public:
-    typedef ImportDecl               *value_type;
-    typedef ImportDecl               *reference;
-    typedef ImportDecl               *pointer;
-    typedef int                       difference_type;
-    typedef std::forward_iterator_tag iterator_category;
+    using value_type = ImportDecl *;
+    using reference = ImportDecl *;
+    using pointer = ImportDecl *;
+    using difference_type = int;
+    using iterator_category = std::forward_iterator_tag;
 
-    import_iterator() : Import() {}
+    import_iterator() = default;
     explicit import_iterator(ImportDecl *Import) : Import(Import) {}
 
     reference operator*() const { return Import; }
@@ -876,7 +905,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   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;
+  using overridden_cxx_method_iterator = CXXMethodVector::const_iterator;
   overridden_cxx_method_iterator
   overridden_methods_begin(const CXXMethodDecl *Method) const;
 
@@ -884,8 +913,10 @@ class ASTContext : public RefCountedBase<ASTContext> {
   overridden_methods_end(const CXXMethodDecl *Method) const;
 
   unsigned overridden_methods_size(const CXXMethodDecl *Method) const;
-  typedef llvm::iterator_range<overridden_cxx_method_iterator>
-      overridden_method_range;
+
+  using overridden_method_range =
+      llvm::iterator_range<overridden_cxx_method_iterator>;
+
   overridden_method_range overridden_methods(const CXXMethodDecl *Method) const;
 
   /// \brief Note that the given C++ \p Method overrides the given \p
@@ -912,7 +943,8 @@ class ASTContext : public RefCountedBase<ASTContext> {
     return Import->NextLocalImport;
   }
 
-  typedef llvm::iterator_range<import_iterator> import_range;
+  using import_range = llvm::iterator_range<import_iterator>;
+
   import_range local_imports() const {
     return import_range(import_iterator(FirstLocalImport), import_iterator());
   }
@@ -929,6 +961,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// and should be visible whenever \p M is visible.
   void mergeDefinitionIntoModule(NamedDecl *ND, Module *M,
                                  bool NotifyListeners = true);
+
   /// \brief Clean up the merged definition list. Call this if you might have
   /// added duplicates into the list.
   void deduplicateMergedDefinitonsFor(NamedDecl *ND);
@@ -973,6 +1006,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   CanQualType UnsignedLongLongTy, UnsignedInt128Ty;
   CanQualType FloatTy, DoubleTy, LongDoubleTy, Float128Ty;
   CanQualType HalfTy; // [OpenCL 6.1.1.1], ARM NEON
+  CanQualType Float16Ty; // C11 extension ISO/IEC TS 18661-3
   CanQualType FloatComplexTy, DoubleComplexTy, LongDoubleComplexTy;
   CanQualType Float128ComplexTy;
   CanQualType VoidPtrTy, NullPtrTy;
@@ -1067,8 +1101,15 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// The resulting type has a union of the qualifiers from T and the address
   /// space. If T already has an address space specifier, it is silently
   /// replaced.
-  QualType getAddrSpaceQualType(QualType T, unsigned AddressSpace) const;
+  QualType getAddrSpaceQualType(QualType T, LangAS AddressSpace) const;
 
+  /// \brief Remove any existing address space on the type and returns the type
+  /// with qualifiers intact (or that's the idea anyway)
+  ///
+  /// The return type should be T with all prior qualifiers minus the address
+  /// space.
+  QualType removeAddrSpaceQualType(QualType T) const;
+
   /// \brief Apply Objective-C protocol qualifiers to the given type.
   /// \param allowOnPointerType specifies if we can apply protocol
   /// qualifiers on ObjCObjectPointerType. It can be set to true when
@@ -1175,6 +1216,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   /// \brief Return a read_only pipe type for the specified type.
   QualType getReadPipeType(QualType T) const;
+
   /// \brief Return a write_only pipe type for the specified type.
   QualType getWritePipeType(QualType T) const;
 
@@ -1182,9 +1224,16 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// pointer to blocks.
   QualType getBlockDescriptorExtendedType() const;
 
+  /// Map an AST Type to an OpenCLTypeKind enum value.
+  TargetInfo::OpenCLTypeKind getOpenCLTypeKind(const Type *T) const;
+
+  /// Get address space for OpenCL type.
+  LangAS getOpenCLTypeAddrSpace(const Type *T) const;
+
   void setcudaConfigureCallDecl(FunctionDecl *FD) {
     cudaConfigureCallDecl = FD;
   }
+
   FunctionDecl *getcudaConfigureCallDecl() {
     return cudaConfigureCallDecl;
   }
@@ -1192,7 +1241,6 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// 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.
@@ -1269,6 +1317,10 @@ class ASTContext : public RefCountedBase<ASTContext> {
                                           Expr *SizeExpr,
                                           SourceLocation AttrLoc) const;
 
+  QualType getDependentAddressSpaceType(QualType PointeeType,
+                                        Expr *AddrSpaceExpr,
+                                        SourceLocation AttrLoc) const;
+
   /// \brief Return a K&R style C function type like 'int()'.
   QualType getFunctionNoProtoType(QualType ResultTy,
                                   const FunctionType::ExtInfo &Info) const;
@@ -1396,6 +1448,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
                                 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
   /// of protocols.
@@ -1426,7 +1479,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// \brief C++11 deduction pattern for 'auto &&' type.
   QualType getAutoRRefDeductType() const;
 
-  /// \brief C++1z deduced class template specialization type.
+  /// \brief C++17 deduced class template specialization type.
   QualType getDeducedTemplateSpecializationType(TemplateName Template,
                                                 QualType DeducedType,
                                                 bool IsDependent) const;
@@ -1488,6 +1541,11 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// <stddef.h>. Pointer - pointer requires this (C99 6.5.6p9).
   QualType getPointerDiffType() const;
 
+  /// \brief Return the unique unsigned counterpart of "ptrdiff_t"
+  /// integer type. The standard (C11 7.21.6.1p7) refers to this type
+  /// in the definition of %tu format specifier.
+  QualType getUnsignedPointerDiffType() const;
+
   /// \brief Return the unique type for "pid_t" defined in
   /// <sys/types.h>. We need this to compute the correct type for vfork().
   QualType getProcessIDType() const;
@@ -1581,6 +1639,24 @@ class ASTContext : public RefCountedBase<ASTContext> {
     return NSCopyingName;
   }
 
+  CanQualType getNSUIntegerType() const {
+    assert(Target && "Expected target to be initialized");
+    const llvm::Triple &T = Target->getTriple();
+    // Windows is LLP64 rather than LP64
+    if (T.isOSWindows() && T.isArch64Bit())
+      return UnsignedLongLongTy;
+    return UnsignedLongTy;
+  }
+
+  CanQualType getNSIntegerType() const {
+    assert(Target && "Expected target to be initialized");
+    const llvm::Triple &T = Target->getTriple();
+    // Windows is LLP64 rather than LP64
+    if (T.isOSWindows() && T.isArch64Bit())
+      return LongLongTy;
+    return LongTy;
+  }
+
   /// Retrieve the identifier 'bool'.
   IdentifierInfo *getBoolName() const {
     if (!BoolName)
@@ -1865,10 +1941,17 @@ class ASTContext : public RefCountedBase<ASTContext> {
                                         const TemplateArgument &ArgPack) const;
 
   enum GetBuiltinTypeError {
-    GE_None,              ///< No error
-    GE_Missing_stdio,     ///< Missing a type from <stdio.h>
-    GE_Missing_setjmp,    ///< Missing a type from <setjmp.h>
-    GE_Missing_ucontext   ///< Missing a type from <ucontext.h>
+    /// No error
+    GE_None,
+
+    /// Missing a type from <stdio.h>
+    GE_Missing_stdio,
+
+    /// Missing a type from <setjmp.h>
+    GE_Missing_setjmp,
+
+    /// Missing a type from <ucontext.h>
+    GE_Missing_ucontext
   };
 
   /// \brief Return the type for the specified builtin.
@@ -2019,7 +2102,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   getASTObjCImplementationLayout(const ObjCImplementationDecl *D) const;
 
   /// \brief Get our current best idea for the key function of the
-  /// given record decl, or NULL if there isn't one.
+  /// given record decl, or nullptr if there isn't one.
   ///
   /// The key function is, according to the Itanium C++ ABI section 5.2.3:
   ///   ...the first non-pure virtual function that is not inline at the
@@ -2072,6 +2155,10 @@ class ASTContext : public RefCountedBase<ASTContext> {
   void CollectInheritedProtocols(const Decl *CDecl,
                           llvm::SmallPtrSet<ObjCProtocolDecl*, 8> &Protocols);
 
+  /// \brief Return true if the specified type has unique object representations
+  /// according to (C++17 [meta.unary.prop]p9)
+  bool hasUniqueObjectRepresentations(QualType Ty) const;
+
   //===--------------------------------------------------------------------===//
   //                            Type Operators
   //===--------------------------------------------------------------------===//
@@ -2103,7 +2190,6 @@ class ASTContext : public RefCountedBase<ASTContext> {
   bool hasSameType(QualType T1, QualType T2) const {
     return getCanonicalType(T1) == getCanonicalType(T2);
   }
-
   bool hasSameType(const Type *T1, const Type *T2) const {
     return getCanonicalType(T1) == getCanonicalType(T2);
   }
@@ -2192,7 +2278,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   getCanonicalNestedNameSpecifier(NestedNameSpecifier *NNS) const;
 
   /// \brief Retrieves the default calling convention for the current target.
-  CallingConv getDefaultCallingConvention(bool isVariadic,
+  CallingConv getDefaultCallingConvention(bool IsVariadic,
                                           bool IsCXXMethod) const;
 
   /// \brief Retrieves the "canonical" template name that refers to a
@@ -2326,14 +2412,14 @@ class ASTContext : public RefCountedBase<ASTContext> {
     return getTargetAddressSpace(Q.getAddressSpace());
   }
 
-  unsigned getTargetAddressSpace(unsigned AS) const;
+  unsigned getTargetAddressSpace(LangAS AS) const;
 
   /// Get target-dependent integer value for null pointer which is used for
   /// constant folding.
   uint64_t getTargetNullPointerValue(QualType QT) const;
 
-  bool addressSpaceMapManglingFor(unsigned AS) const {
-    return AddrSpaceMapMangling || AS >= LangAS::FirstTargetAddressSpace;
+  bool addressSpaceMapManglingFor(LangAS AS) const {
+    return AddrSpaceMapMangling || isTargetAddressSpace(AS);
   }
 
 private:
@@ -2355,12 +2441,15 @@ class ASTContext : public RefCountedBase<ASTContext> {
   bool isObjCIdType(QualType T) const {
     return T == getObjCIdType();
   }
+
   bool isObjCClassType(QualType T) const {
     return T == getObjCClassType();
   }
+
   bool isObjCSelType(QualType T) const {
     return T == getObjCSelType();
   }
+
   bool ObjCQualifiedIdTypesAreCompatible(QualType LHS, QualType RHS,
                                          bool ForCompare);
 
@@ -2394,9 +2483,30 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   QualType mergeObjCGCQualifiers(QualType, QualType);
 
-  bool doFunctionTypesMatchOnExtParameterInfos(
-         const FunctionProtoType *FromFunctionType,
-         const FunctionProtoType *ToFunctionType);
+  /// This function merges the ExtParameterInfo lists of two functions. It
+  /// returns true if the lists are compatible. The merged list is returned in
+  /// NewParamInfos.
+  ///
+  /// \param FirstFnType The type of the first function.
+  ///
+  /// \param SecondFnType The type of the second function.
+  ///
+  /// \param CanUseFirst This flag is set to true if the first function's
+  /// ExtParameterInfo list can be used as the composite list of
+  /// ExtParameterInfo.
+  ///
+  /// \param CanUseSecond This flag is set to true if the second function's
+  /// ExtParameterInfo list can be used as the composite list of
+  /// ExtParameterInfo.
+  ///
+  /// \param NewParamInfos The composite list of ExtParameterInfo. The list is
+  /// empty if none of the flags are set.
+  ///
+  bool mergeExtParameterInfo(
+      const FunctionProtoType *FirstFnType,
+      const FunctionProtoType *SecondFnType,
+      bool &CanUseFirst, bool &CanUseSecond,
+      SmallVectorImpl<FunctionProtoType::ExtParameterInfo> &NewParamInfos);
 
   void ResetObjCLayout(const ObjCContainerDecl *CD);
 
@@ -2432,12 +2542,13 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   bool isSentinelNullExpr(const Expr *E);
 
-  /// \brief Get the implementation of the ObjCInterfaceDecl \p D, or NULL if
+  /// \brief Get the implementation of the ObjCInterfaceDecl \p D, or nullptr if
   /// none exists.
   ObjCImplementationDecl *getObjCImplementation(ObjCInterfaceDecl *D);
-  /// \brief Get the implementation of the ObjCCategoryDecl \p D, or NULL if
+
+  /// \brief Get the implementation of the ObjCCategoryDecl \p D, or nullptr if
   /// none exists.
-  ObjCCategoryImplDecl   *getObjCImplementation(ObjCCategoryDecl *D);
+  ObjCCategoryImplDecl *getObjCImplementation(ObjCCategoryDecl *D);
 
   /// \brief Return true if there is at least one \@implementation in the TU.
   bool AnyObjCImplementation() {
@@ -2447,6 +2558,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
   /// \brief Set the implementation of ObjCInterfaceDecl.
   void setObjCImplementation(ObjCInterfaceDecl *IFaceD,
                              ObjCImplementationDecl *ImplD);
+
   /// \brief Set the implementation of ObjCCategoryDecl.
   void setObjCImplementation(ObjCCategoryDecl *CatD,
                              ObjCCategoryImplDecl *ImplD);
@@ -2466,8 +2578,9 @@ class ASTContext : public RefCountedBase<ASTContext> {
 
   /// \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
-  /// NULL if none exists.
+  /// nullptr if none exists.
   Expr *getBlockVarCopyInits(const VarDecl* VD);
 
   /// \brief Allocate an uninitialized TypeSourceInfo.
@@ -2636,6 +2749,7 @@ class ASTContext : public RefCountedBase<ASTContext> {
                                        const FieldDecl *Field,
                                        bool includeVBases = true,
                                        QualType *NotEncodedT=nullptr) const;
+
 public:
   // Adds the encoding of a method parameter or return type.
   void getObjCEncodingForMethodParameter(Decl::ObjCDeclQualifier QT,
@@ -2647,11 +2761,19 @@ class ASTContext : public RefCountedBase<ASTContext> {
   bool isMSStaticDataMemberInlineDefinition(const VarDecl *VD) const;
 
   enum class InlineVariableDefinitionKind {
-    None,        ///< Not an inline variable.
-    Weak,        ///< Weak definition of inline variable.
-    WeakUnknown, ///< Weak for now, might become strong later in this TU.
-    Strong       ///< Strong definition.
+    /// Not an inline variable.
+    None,
+
+    /// Weak definition of inline variable.
+    Weak,
+
+    /// Weak for now, might become strong later in this TU.
+    WeakUnknown,
+
+    /// Strong definition.
+    Strong
   };
+
   /// \brief Determine whether a definition of this inline variable should
   /// be treated as a weak or strong definition. For compatibility with
   /// C++14 and before, for a constexpr static data member, if there is an
@@ -2661,6 +2783,9 @@ class ASTContext : public RefCountedBase<ASTContext> {
   getInlineVariableDefinitionKind(const VarDecl *VD) const;
 
 private:
+  friend class DeclarationNameTable;
+  friend class DeclContext;
+

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201712201426.vBKEQtpQ062856>