Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 Jan 2017 21:29:31 +0000 (UTC)
From:      Dimitry Andric <dim@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-projects@freebsd.org
Subject:   svn commit: r311143 - in projects/clang400-import/contrib/llvm/tools/clang: include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/ASTMatchers/Dynamic include/clang...
Message-ID:  <201701022129.v02LTVN9006820@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: dim
Date: Mon Jan  2 21:29:30 2017
New Revision: 311143
URL: https://svnweb.freebsd.org/changeset/base/311143

Log:
  Update clang to trunk r290819 and resolve conflicts.

Added:
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/OSLog.h
     - copied unchanged from r311142, vendor/clang/dist/include/clang/Analysis/Analyses/OSLog.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/CloneDetection.h
     - copied unchanged from r311142, vendor/clang/dist/include/clang/Analysis/CloneDetection.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86_64.def
     - copied unchanged from r311142, vendor/clang/dist/include/clang/Basic/BuiltinsX86_64.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDocs.td
     - copied unchanged from r311142, vendor/clang/dist/include/clang/Basic/DiagnosticDocs.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Distro.h
     - copied unchanged from r311142, vendor/clang/dist/include/clang/Driver/Distro.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h
     - copied unchanged from r311142, vendor/clang/dist/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/CloneDetection.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/Analysis/CloneDetection.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/OSLog.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/Analysis/OSLog.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCoroutine.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/CodeGen/CGCoroutine.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/ConstantBuilder.h
     - copied unchanged from r311142, vendor/clang/dist/lib/CodeGen/ConstantBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/CodeGen/VarBypassDetector.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/VarBypassDetector.h
     - copied unchanged from r311142, vendor/clang/dist/lib/CodeGen/VarBypassDetector.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Distro.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/Driver/Distro.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/Comments.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/Format/Comments.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/Comments.h
     - copied unchanged from r311142, vendor/clang/dist/lib/Format/Comments.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_builtin_vars.h
     - copied unchanged from r311142, vendor/clang/dist/lib/Headers/__clang_cuda_builtin_vars.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_complex_builtins.h
     - copied unchanged from r311142, vendor/clang/dist/lib/Headers/__clang_cuda_complex_builtins.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/armintr.h
     - copied unchanged from r311142, vendor/clang/dist/lib/Headers/armintr.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/cuda_wrappers/
     - copied from r311142, vendor/clang/dist/lib/Headers/cuda_wrappers/
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/AnalysisOrderChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/BlockInCriticalSectionChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/CXXSelfAssignmentChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CloneChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/CloneChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/ConversionChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GTestChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/GTestChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/NumberObjectConversionChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
     - copied unchanged from r311142, vendor/clang/dist/lib/StaticAnalyzer/Checkers/ValistChecker.cpp
Deleted:
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/cuda_builtin_vars.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIFunctionClassifier.h
Modified:
  projects/clang400-import/contrib/llvm/tools/clang/include/clang-c/Index.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/APValue.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclGroup.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Expr.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Mangle.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/MangleNumberingContext.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Stmt.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/StmtGraphTraits.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Type.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/VTTBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Registry.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Consumed.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Dominators.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/LiveVariables.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/CallGraph.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Attr.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Attributes.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAMDGPU.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/FileSystemStatCache.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/LLVM.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Linkage.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Module.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensions.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/OpenCLImageTypes.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/OpenCLOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/PlistSupport.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManagerInternals.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/TargetCXXABI.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/TargetOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/Version.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/CodeGen/SwiftCallingConv.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Action.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Job.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Multilib.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Tool.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Types.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Driver/Types.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Edit/Rewriters.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Format/Format.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendPluginRegistry.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/LangStandards.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/PCHContainerOperations.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOutputOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticReader.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Index/CommentToXML.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Index/IndexSymbol.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleLoader.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Parse/Parser.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Rewrite/Core/HTMLRewrite.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/Overload.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/SemaInternal.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/Template.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Serialization/Module.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/Checkers.td
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerRegistry.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.def
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Frontend/FrontendActions.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Tooling/Core/Replacement.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Tooling/FileMatchTrie.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Tooling/Refactoring.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/Tooling/ReplacementsYaml.h
  projects/clang400-import/contrib/llvm/tools/clang/include/clang/module.modulemap
  projects/clang400-import/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/APValue.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ASTTypeTraits.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/CXXABI.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/Comment.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/CommentBriefParser.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/CommentParser.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/CommentSema.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclGroup.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ExprObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/Mangle.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/Stmt.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/StmtObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/Type.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/CallGraph.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/FormatStringParsing.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/PrintfFormatString.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/ReachableCode.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/ScanfFormatString.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/DiagnosticOptions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/FileSystemStatCache.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Module.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/SourceLocation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCUDABuiltin.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCUDARuntime.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntimeNVPTX.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypeCache.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/SanitizerMetadata.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/SwiftCallingConv.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Action.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/CrossWindowsToolChain.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Job.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Tool.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Tools.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Driver/Types.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/Encoding.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/Format.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/FormatToken.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/FormatToken.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/FormatTokenLexer.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/SortJavaScriptImports.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/TokenAnalyzer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/TokenAnalyzer.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/FrontendOptions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/PCHContainerOperations.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/HTMLPrint.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteTest.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticReader.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnosticPrinter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/FrontendTool/ExecuteCompilerInvocation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_cmath.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_math_forward_declares.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_runtime_wrapper.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/altivec.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/ammintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/avxintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/bmiintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/emmintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/float.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/fxsrintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/ia32intrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/immintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/intrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/lzcntintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/mmintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/module.modulemap
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/opencl-c.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/pmmintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/popcntintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/stdatomic.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/tmmintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Index/IndexBody.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Index/IndexDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Index/IndexSymbol.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Index/IndexingContext.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/HeaderMap.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPCaching.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PTHLexer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/TokenConcatenation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Rewrite/HTMLRewrite.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/Sema.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Sema/TypeLocBuilder.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/Module.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ModuleFileExtension.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Serialization/MultiOnDiskHashTable.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIBugReporter.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIChecker.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPIFunctionClassifier.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MPI-Checker/MPITypes.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSuperDeallocChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerRegistry.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SVals.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.h
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/Core/Lookup.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/Core/QualTypeNames.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/Refactoring.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/RefactoringCallbacks.cpp
  projects/clang400-import/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp
  projects/clang400-import/contrib/llvm/tools/clang/tools/clang-format/ClangFormat.cpp
  projects/clang400-import/contrib/llvm/tools/clang/tools/driver/cc1_main.cpp
  projects/clang400-import/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp
  projects/clang400-import/contrib/llvm/tools/clang/tools/driver/driver.cpp
  projects/clang400-import/contrib/llvm/tools/clang/utils/TableGen/ClangASTNodesEmitter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp
  projects/clang400-import/contrib/llvm/tools/clang/utils/TableGen/TableGen.cpp
  projects/clang400-import/contrib/llvm/tools/clang/utils/TableGen/TableGenBackends.h
Directory Properties:
  projects/clang400-import/contrib/llvm/tools/clang/   (props changed)

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang-c/Index.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang-c/Index.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang-c/Index.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -32,7 +32,7 @@
  * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
  */
 #define CINDEX_VERSION_MAJOR 0
-#define CINDEX_VERSION_MINOR 35
+#define CINDEX_VERSION_MINOR 37
 
 #define CINDEX_VERSION_ENCODE(major, minor) ( \
       ((major) * 10000)                       \
@@ -326,7 +326,7 @@ clang_isFileMultipleIncludeGuarded(CXTra
  *
  * \param tu the translation unit
  *
-* \param file_name the name of the file.
+ * \param file_name the name of the file.
  *
  * \returns the file handle for the named file in the translation unit \p tu,
  * or a NULL file handle if the file was not a part of this translation unit.
@@ -627,6 +627,15 @@ CINDEX_LINKAGE CXSourceRangeList *clang_
                                                          CXFile file);
 
 /**
+ * \brief Retrieve all ranges from all files that were skipped by the
+ * preprocessor.
+ *
+ * The preprocessor will skip lines when they are surrounded by an
+ * if/ifdef/ifndef directive whose condition does not evaluate to true.
+ */
+CINDEX_LINKAGE CXSourceRangeList *clang_getAllSkippedRanges(CXTranslationUnit tu);
+
+/**
  * \brief Destroy the given \c CXSourceRangeList.
  */
 CINDEX_LINKAGE void clang_disposeSourceRangeList(CXSourceRangeList *ranges);
@@ -2325,7 +2334,39 @@ enum CXCursorKind {
    */
   CXCursor_OMPTargetParallelForSimdDirective = 269,
 
-  CXCursor_LastStmt = CXCursor_OMPTargetParallelForSimdDirective,
+  /** \brief OpenMP target simd directive.
+   */
+  CXCursor_OMPTargetSimdDirective = 270,
+
+  /** \brief OpenMP teams distribute directive.
+   */
+  CXCursor_OMPTeamsDistributeDirective = 271,
+
+  /** \brief OpenMP teams distribute simd directive.
+   */
+  CXCursor_OMPTeamsDistributeSimdDirective = 272,
+
+  /** \brief OpenMP teams distribute parallel for simd directive.
+   */
+  CXCursor_OMPTeamsDistributeParallelForSimdDirective = 273,
+
+  /** \brief OpenMP teams distribute parallel for directive.
+   */
+  CXCursor_OMPTeamsDistributeParallelForDirective = 274,
+
+  /** \brief OpenMP target teams directive.
+   */
+  CXCursor_OMPTargetTeamsDirective = 275,
+
+  /** \brief OpenMP target teams distribute directive.
+   */
+  CXCursor_OMPTargetTeamsDistributeDirective = 276,
+
+  /** \brief OpenMP target teams distribute parallel for directive.
+   */
+  CXCursor_OMPTargetTeamsDistributeParallelForDirective = 277,
+
+  CXCursor_LastStmt = CXCursor_OMPTargetTeamsDistributeParallelForDirective,
 
   /**
    * \brief Cursor that represents the translation unit itself.
@@ -2383,8 +2424,12 @@ enum CXCursorKind {
    * \brief A static_assert or _Static_assert node
    */
   CXCursor_StaticAssert                  = 602,
+  /**
+   * \brief a friend declaration.
+   */
+  CXCursor_FriendDecl                    = 603,
   CXCursor_FirstExtraDecl                = CXCursor_ModuleImportDecl,
-  CXCursor_LastExtraDecl                 = CXCursor_StaticAssert,
+  CXCursor_LastExtraDecl                 = CXCursor_FriendDecl,
 
   /**
    * \brief A code completion overload candidate.
@@ -3001,7 +3046,7 @@ enum CXCallingConv {
   CXCallingConv_X86Pascal = 5,
   CXCallingConv_AAPCS = 6,
   CXCallingConv_AAPCS_VFP = 7,
-  /* Value 8 was PnaclCall, but it was never used, so it could safely be re-used. */
+  CXCallingConv_X86RegCall = 8,
   CXCallingConv_IntelOclBicc = 9,
   CXCallingConv_X86_64Win64 = 10,
   CXCallingConv_X86_64SysV = 11,
@@ -3491,11 +3536,8 @@ enum CXRefQualifierKind {
 };
 
 /**
- * \brief Returns the number of template arguments for given class template
- * specialization, or -1 if type \c T is not a class template specialization.
- *
- * Variadic argument packs count as only one argument, and can not be inspected
- * further.
+ * \brief Returns the number of template arguments for given template
+ * specialization, or -1 if type \c T is not a template specialization.
  */
 CINDEX_LINKAGE int clang_Type_getNumTemplateArguments(CXType T);
 
@@ -5240,6 +5282,25 @@ CINDEX_LINKAGE CXEvalResultKind clang_Ev
 CINDEX_LINKAGE int clang_EvalResult_getAsInt(CXEvalResult E);
 
 /**
+ * \brief Returns the evaluation result as a long long integer if the
+ * kind is Int. This prevents overflows that may happen if the result is
+ * returned with clang_EvalResult_getAsInt.
+ */
+CINDEX_LINKAGE long long clang_EvalResult_getAsLongLong(CXEvalResult E);
+
+/**
+ * \brief Returns a non-zero value if the kind is Int and the evaluation
+ * result resulted in an unsigned integer.
+ */
+CINDEX_LINKAGE unsigned clang_EvalResult_isUnsignedInt(CXEvalResult E);
+
+/**
+ * \brief Returns the evaluation result as an unsigned integer if
+ * the kind is Int and clang_EvalResult_isUnsignedInt is non-zero.
+ */
+CINDEX_LINKAGE unsigned long long clang_EvalResult_getAsUnsigned(CXEvalResult E);
+
+/**
  * \brief Returns the evaluation result as double if the
  * kind is double.
  */

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/APValue.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/APValue.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/APValue.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -135,14 +135,15 @@ public:
   }
   APValue(const APValue &RHS);
   APValue(APValue &&RHS) : Kind(Uninitialized) { swap(RHS); }
-  APValue(LValueBase B, const CharUnits &O, NoLValuePath N, unsigned CallIndex)
+  APValue(LValueBase B, const CharUnits &O, NoLValuePath N, unsigned CallIndex,
+          bool IsNullPtr = false)
       : Kind(Uninitialized) {
-    MakeLValue(); setLValue(B, O, N, CallIndex);
+    MakeLValue(); setLValue(B, O, N, CallIndex, IsNullPtr);
   }
   APValue(LValueBase B, const CharUnits &O, ArrayRef<LValuePathEntry> Path,
-          bool OnePastTheEnd, unsigned CallIndex)
+          bool OnePastTheEnd, unsigned CallIndex, bool IsNullPtr = false)
       : Kind(Uninitialized) {
-    MakeLValue(); setLValue(B, O, Path, OnePastTheEnd, CallIndex);
+    MakeLValue(); setLValue(B, O, Path, OnePastTheEnd, CallIndex, IsNullPtr);
   }
   APValue(UninitArray, unsigned InitElts, unsigned Size) : Kind(Uninitialized) {
     MakeArray(InitElts, Size);
@@ -254,6 +255,7 @@ public:
   bool hasLValuePath() const;
   ArrayRef<LValuePathEntry> getLValuePath() const;
   unsigned getLValueCallIndex() const;
+  bool isNullPointer() const;
 
   APValue &getVectorElt(unsigned I) {
     assert(isVector() && "Invalid accessor");
@@ -374,10 +376,10 @@ public:
     ((ComplexAPFloat *)(char *)Data.buffer)->Imag = std::move(I);
   }
   void setLValue(LValueBase B, const CharUnits &O, NoLValuePath,
-                 unsigned CallIndex);
+                 unsigned CallIndex, bool IsNullPtr);
   void setLValue(LValueBase B, const CharUnits &O,
                  ArrayRef<LValuePathEntry> Path, bool OnePastTheEnd,
-                 unsigned CallIndex);
+                 unsigned CallIndex, bool IsNullPtr);
   void setUnion(const FieldDecl *Field, const APValue &Value) {
     assert(isUnion() && "Invalid accessor");
     ((UnionData*)(char*)Data.buffer)->Field = Field;

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -14,8 +14,6 @@
 #ifndef LLVM_CLANG_AST_ASTCONSUMER_H
 #define LLVM_CLANG_AST_ASTCONSUMER_H
 
-#include "llvm/ADT/StringRef.h"
-
 namespace clang {
   class ASTContext;
   class CXXMethodDecl;

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -19,73 +19,107 @@
 #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/ExternalASTSource.h"
 #include "clang/AST/NestedNameSpecifier.h"
 #include "clang/AST/PrettyPrinter.h"
 #include "clang/AST/RawCommentList.h"
+#include "clang/AST/TemplateBase.h"
 #include "clang/AST/TemplateName.h"
 #include "clang/AST/Type.h"
 #include "clang/Basic/AddressSpaces.h"
 #include "clang/Basic/IdentifierTable.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/VersionTuple.h"
+#include "clang/Basic/SourceLocation.h"
+#include "clang/Basic/Specifiers.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/Support/AlignOf.h"
 #include "llvm/Support/Allocator.h"
+#include "llvm/Support/Casting.h"
+#include "llvm/Support/Compiler.h"
+#include <cassert>
+#include <cstddef>
+#include <cstdint>
+#include <iterator>
 #include <memory>
+#include <new>
+#include <string>
+#include <utility>
 #include <vector>
 
 namespace llvm {
-  struct fltSemantics;
-}
+
+struct fltSemantics;
+
+} // end namespace llvm
 
 namespace clang {
-  class FileManager;
-  class AtomicExpr;
-  class ASTRecordLayout;
-  class BlockExpr;
-  class CharUnits;
-  class DiagnosticsEngine;
-  class Expr;
-  class ASTMutationListener;
-  class IdentifierTable;
-  class MaterializeTemporaryExpr;
-  class SelectorTable;
-  class TargetInfo;
-  class CXXABI;
-  class MangleNumberingContext;
-  // Decls
-  class MangleContext;
-  class ObjCIvarDecl;
-  class ObjCPropertyDecl;
-  class UnresolvedSetIterator;
-  class UsingDecl;
-  class UsingShadowDecl;
-  class VTableContextBase;
-
-  namespace Builtin { class Context; }
-  enum BuiltinTemplateKind : int;
-
-  namespace comments {
-    class FullComment;
-  }
-
-  struct TypeInfo {
-    uint64_t Width;
-    unsigned Align;
-    bool AlignIsRequired : 1;
-    TypeInfo() : Width(0), Align(0), AlignIsRequired(false) {}
-    TypeInfo(uint64_t Width, unsigned Align, bool AlignIsRequired)
-        : Width(Width), Align(Align), AlignIsRequired(AlignIsRequired) {}
-  };
+
+class ASTMutationListener;
+class ASTRecordLayout;
+class AtomicExpr;
+class BlockExpr;
+class CharUnits;
+class CXXABI;
+class DiagnosticsEngine;
+class Expr;
+class MangleNumberingContext;
+class MaterializeTemporaryExpr;
+class TargetInfo;
+// Decls
+class MangleContext;
+class ObjCIvarDecl;
+class ObjCPropertyDecl;
+class UnresolvedSetIterator;
+class UsingDecl;
+class UsingShadowDecl;
+class VTableContextBase;
+
+namespace Builtin {
+
+  class Context;
+
+} // end namespace Builtin
+
+enum BuiltinTemplateKind : int;
+
+namespace comments {
+
+  class FullComment;
+
+} // end namespace comments
+
+struct TypeInfo {
+  uint64_t Width;
+  unsigned Align;
+  bool AlignIsRequired : 1;
+
+  TypeInfo() : Width(0), Align(0), AlignIsRequired(false) {}
+  TypeInfo(uint64_t Width, unsigned Align, bool AlignIsRequired)
+      : Width(Width), Align(Align), AlignIsRequired(AlignIsRequired) {}
+};
 
 /// \brief Holds long-lived AST nodes (such as types and decls) that can be
 /// referred to throughout the semantic analysis of a file.
@@ -114,6 +148,7 @@ class ASTContext : public RefCountedBase
   mutable llvm::FoldingSet<DependentTypeOfExprType> DependentTypeOfExprTypes;
   mutable llvm::FoldingSet<DependentDecltypeType> DependentDecltypeTypes;
   mutable llvm::FoldingSet<TemplateTypeParmType> TemplateTypeParmTypes;
+  mutable llvm::FoldingSet<ObjCTypeParamType> ObjCTypeParamTypes;
   mutable llvm::FoldingSet<SubstTemplateTypeParmType>
     SubstTemplateTypeParmTypes;
   mutable llvm::FoldingSet<SubstTemplateTypeParmPackType>
@@ -312,13 +347,24 @@ class ASTContext : public RefCountedBase
   /// definitions of that entity.
   llvm::DenseMap<NamedDecl*, llvm::TinyPtrVector<Module*>> MergedDefModules;
 
+  /// \brief Initializers for a module, in order. Each Decl will be either
+  /// something that has a semantic effect on startup (such as a variable with
+  /// a non-constant initializer), or an ImportDecl (which recursively triggers
+  /// initialization of another module).
+  struct PerModuleInitializers {
+    llvm::SmallVector<Decl*, 4> Initializers;
+    llvm::SmallVector<uint32_t, 4> LazyInitializers;
+
+    void resolve(ASTContext &Ctx);
+  };
+  llvm::DenseMap<Module*, PerModuleInitializers*> ModuleInitializers;
+
 public:
   /// \brief A type synonym for the TemplateOrInstantiation mapping.
   typedef llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>
   TemplateOrSpecializationInfo;
 
 private:
-
   /// \brief A mapping to contain the template or declaration that
   /// a variable declaration describes or was instantiated from,
   /// respectively.
@@ -352,11 +398,11 @@ private:
   llvm::DenseMap<const VarDecl *, TemplateOrSpecializationInfo>
   TemplateOrInstantiation;
 
-  /// \brief Keeps track of the declaration from which a UsingDecl was
+  /// \brief Keeps track of the declaration from which a using declaration was
   /// created during instantiation.
   ///
-  /// The source declaration is always a UsingDecl, an UnresolvedUsingValueDecl,
-  /// or an UnresolvedUsingTypenameDecl.
+  /// The source and target declarations are always a UsingDecl, an
+  /// UnresolvedUsingValueDecl, or an UnresolvedUsingTypenameDecl.
   ///
   /// For example:
   /// \code
@@ -375,7 +421,7 @@ private:
   ///
   /// This mapping will contain an entry that maps from the UsingDecl in
   /// B<int> to the UnresolvedUsingDecl in B<T>.
-  llvm::DenseMap<UsingDecl *, NamedDecl *> InstantiatedFromUsingDecl;
+  llvm::DenseMap<NamedDecl *, NamedDecl *> InstantiatedFromUsingDecl;
 
   llvm::DenseMap<UsingShadowDecl*, UsingShadowDecl*>
     InstantiatedFromUsingShadowDecl;
@@ -394,7 +440,7 @@ private:
   /// \brief Mapping from each declaration context to its corresponding
   /// mangling numbering context (used for constructs like lambdas which
   /// need to be consistently numbered for the mangler).
-  llvm::DenseMap<const DeclContext *, MangleNumberingContext *>
+  llvm::DenseMap<const DeclContext *, std::unique_ptr<MangleNumberingContext>>
       MangleNumberingContexts;
 
   /// \brief Side-table of mangling numbers for declarations which rarely
@@ -514,6 +560,7 @@ public:
 
     size_t size() const { return end() - begin(); }
     bool empty() const { return begin() == end(); }
+
     const DynTypedNode &operator[](size_t N) const {
       assert(N < size() && "Out of bounds!");
       return *(begin() + N);
@@ -569,7 +616,7 @@ public:
     return BumpAlloc.Allocate(Size, Align);
   }
   template <typename T> T *Allocate(size_t Num = 1) const {
-    return static_cast<T *>(Allocate(Num * sizeof(T), llvm::alignOf<T>()));
+    return static_cast<T *>(Allocate(Num * sizeof(T), alignof(T)));
   }
   void Deallocate(void *Ptr) const { }
   
@@ -802,11 +849,11 @@ public:
   /// \brief If the given using decl \p Inst is an instantiation of a
   /// (possibly unresolved) using decl from a template instantiation,
   /// return it.
-  NamedDecl *getInstantiatedFromUsingDecl(UsingDecl *Inst);
+  NamedDecl *getInstantiatedFromUsingDecl(NamedDecl *Inst);
 
   /// \brief Remember that the using decl \p Inst is an instantiation
   /// of the using decl \p Pattern of a class template.
-  void setInstantiatedFromUsingDecl(UsingDecl *Inst, NamedDecl *Pattern);
+  void setInstantiatedFromUsingDecl(NamedDecl *Inst, NamedDecl *Pattern);
 
   void setInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst,
                                           UsingShadowDecl *Pattern);
@@ -883,6 +930,17 @@ public:
     return MergedIt->second;
   }
 
+  /// Add a declaration to the list of declarations that are initialized
+  /// for a module. This will typically be a global variable (with internal
+  /// linkage) that runs module initializers, such as the iostream initializer,
+  /// or an ImportDecl nominating another module that has initializers.
+  void addModuleInitializer(Module *M, Decl *Init);
+
+  void addLazyModuleInitializers(Module *M, ArrayRef<uint32_t> IDs);
+
+  /// Get the initializations to perform when importing a module, if any.
+  ArrayRef<Decl*> getModuleInitializers(Module *M);
+
   TranslationUnitDecl *getTranslationUnitDecl() const { return TUDecl; }
 
   ExternCContextDecl *getExternCContextDecl() const;
@@ -928,7 +986,8 @@ public:
 
   ASTContext(LangOptions &LOpts, SourceManager &SM, IdentifierTable &idents,
              SelectorTable &sels, Builtin::Context &builtins);
-
+  ASTContext(const ASTContext &) = delete;
+  ASTContext &operator=(const ASTContext &) = delete;
   ~ASTContext();
 
   /// \brief Attach an external AST source to the AST context.
@@ -987,6 +1046,8 @@ private:
 
   QualType getTypeDeclTypeSlow(const TypeDecl *Decl) const;
 
+  QualType getPipeType(QualType T, bool ReadOnly) const;
+
 public:
   /// \brief Return the uniqued reference to the type for an address space
   /// qualified type with the specified type and address space.
@@ -996,6 +1057,14 @@ public:
   /// replaced.
   QualType getAddrSpaceQualType(QualType T, unsigned AddressSpace) 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
+  /// contructing the canonical type of a Objective-C type parameter.
+  QualType applyObjCProtocolQualifiers(QualType type,
+      ArrayRef<ObjCProtocolDecl *> protocols, bool &hasError,
+      bool allowOnPointerType = false) const;
+
   /// \brief Return the uniqued reference to the type for an Objective-C
   /// gc-qualified type.
   ///
@@ -1040,6 +1109,10 @@ public:
   /// \brief Change the result type of a function type once it is deduced.
   void adjustDeducedFunctionResultType(FunctionDecl *FD, QualType ResultType);
 
+  /// \brief Determine whether two function types are the same, ignoring
+  /// exception specifications in cases where they're part of the type.
+  bool hasSameFunctionTypeIgnoringExceptionSpec(QualType T, QualType U);
+
   /// \brief Change the exception specification on a function once it is
   /// delay-parsed, instantiated, or computed.
   void adjustExceptionSpec(FunctionDecl *FD,
@@ -1088,8 +1161,10 @@ public:
   /// blocks.
   QualType getBlockDescriptorType() const;
 
-  /// \brief Return pipe type for the specified type.
-  QualType getPipeType(QualType T) const;
+  /// \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;
 
   /// Gets the struct used to keep track of the extended descriptor for
   /// pointer to blocks.
@@ -1192,8 +1267,17 @@ public:
 
   /// \brief Return a normal function type with a typed argument list.
   QualType getFunctionType(QualType ResultTy, ArrayRef<QualType> Args,
-                           const FunctionProtoType::ExtProtoInfo &EPI) const;
+                           const FunctionProtoType::ExtProtoInfo &EPI) const {
+    return getFunctionTypeInternal(ResultTy, Args, EPI, false);
+  }
 
+private:
+  /// \brief Return a normal function type with a typed argument list.
+  QualType getFunctionTypeInternal(QualType ResultTy, ArrayRef<QualType> Args,
+                                   const FunctionProtoType::ExtProtoInfo &EPI,
+                                   bool OnlyWantCanonical) const;
+
+public:
   /// \brief Return the unique reference to the type for the specified type
   /// declaration.
   QualType getTypeDeclType(const TypeDecl *Decl,
@@ -1271,6 +1355,12 @@ public:
       ElaboratedTypeKeyword Keyword, NestedNameSpecifier *NNS,
       const IdentifierInfo *Name, ArrayRef<TemplateArgument> Args) const;
 
+  /// Get a template argument list with one argument per template parameter
+  /// in a template parameter list, such as for the injected class name of
+  /// a class template.
+  void getInjectedTemplateArgs(const TemplateParameterList *Params,
+                               SmallVectorImpl<TemplateArgument> &Args);
+
   QualType getPackExpansionType(QualType Pattern,
                                 Optional<unsigned> NumExpansions);
 
@@ -1286,6 +1376,10 @@ public:
                              ArrayRef<QualType> typeArgs,
                              ArrayRef<ObjCProtocolDecl *> protocols,
                              bool isKindOf) const;
+
+  QualType getObjCTypeParamType(const ObjCTypeParamDecl *Decl,
+                                ArrayRef<ObjCProtocolDecl *> protocols,
+                                QualType Canonical = QualType()) const;
   
   bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl);
   /// QIdProtocolsAdoptObjCObjectProtocols - Checks that protocols in
@@ -1440,7 +1534,6 @@ public:
       return getObjCSelType();
     return ObjCSelRedefinitionType;
   }
-
   
   /// \brief Set the user-written type that redefines 'SEL'.
   void setObjCSelRedefinitionType(QualType RedefType) {
@@ -1569,16 +1662,12 @@ public:
   ///
   /// \returns true if an error occurred (e.g., because one of the parameter
   /// types is incomplete), false otherwise.
-  bool getObjCEncodingForFunctionDecl(const FunctionDecl *Decl, std::string& S);
+  std::string getObjCEncodingForFunctionDecl(const FunctionDecl *Decl) const;
 
   /// \brief Emit the encoded type for the method declaration \p Decl into
   /// \p S.
-  ///
-  /// \returns true if an error occurred (e.g., because one of the parameter
-  /// types is incomplete), false otherwise.
-  bool getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, std::string &S,
-                                    bool Extended = false)
-    const;
+  std::string getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl,
+                                           bool Extended = false) const;
 
   /// \brief Return the encoded type for this block declaration.
   std::string getObjCEncodingForBlock(const BlockExpr *blockExpr) const;
@@ -1587,9 +1676,8 @@ public:
   /// this method declaration. If non-NULL, Container must be either
   /// an ObjCCategoryImplDecl or ObjCImplementationDecl; it should
   /// only be NULL when getting encodings for protocol properties.
-  void getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD,
-                                      const Decl *Container,
-                                      std::string &S) const;
+  std::string getObjCEncodingForPropertyDecl(const ObjCPropertyDecl *PD,
+                                             const Decl *Container) const;
 
   bool ProtocolCompatibleWithProtocol(ObjCProtocolDecl *lProto,
                                       ObjCProtocolDecl *rProto) const;
@@ -1834,6 +1922,11 @@ public:
   unsigned getTypeAlign(QualType T) const { return getTypeInfo(T).Align; }
   unsigned getTypeAlign(const Type *T) const { return getTypeInfo(T).Align; }
 
+  /// \brief Return the ABI-specified alignment of a type, in bits, or 0 if
+  /// the type is incomplete and we cannot determine the alignment (for
+  /// example, from alignment attributes).
+  unsigned getTypeAlignIfKnown(QualType T) const;
+
   /// \brief Return the ABI-specified alignment of a (complete) type \p T, in 
   /// characters.
   CharUnits getTypeAlignInChars(QualType T) const;
@@ -1860,7 +1953,7 @@ public:
 
   /// \brief Return the default alignment for __attribute__((aligned)) on
   /// this target, to be used if no alignment value is specified.
-  unsigned getTargetDefaultAlignForAttributeAligned(void) const;
+  unsigned getTargetDefaultAlignForAttributeAligned() const;
 
   /// \brief Return the alignment in bits that should be given to a
   /// global variable with type \p T.
@@ -2212,6 +2305,10 @@ public:
       return (*AddrSpaceMap)[AS - LangAS::Offset];
   }
 
+  /// 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::Offset || 
@@ -2223,7 +2320,6 @@ private:
   unsigned getIntegerRank(const Type *T) const;
 
 public:
-
   //===--------------------------------------------------------------------===//
   //                    Type Compatibility Predicates
   //===--------------------------------------------------------------------===//
@@ -2399,12 +2495,6 @@ public:
   void addCopyConstructorForExceptionObject(CXXRecordDecl *RD,
                                             CXXConstructorDecl *CD);
 
-  void addDefaultArgExprForConstructor(const CXXConstructorDecl *CD,
-                                       unsigned ParmIdx, Expr *DAE);
-
-  Expr *getDefaultArgExprForConstructor(const CXXConstructorDecl *CD,
-                                        unsigned ParmIdx);
-
   void addTypedefNameForUnnamedTagDecl(TagDecl *TD, TypedefNameDecl *TND);
 
   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD);
@@ -2423,7 +2513,7 @@ public:
   /// DeclContext.
   MangleNumberingContext &getManglingNumberContext(const DeclContext *DC);
 
-  MangleNumberingContext *createMangleNumberingContext() const;
+  std::unique_ptr<MangleNumberingContext> createMangleNumberingContext() const;
 
   /// \brief Used by ParmVarDecl to store on the side the
   /// index of the parameter when it exceeds the size of the normal bitfield.
@@ -2484,10 +2574,6 @@ public:
   /// declarations were built.
   static unsigned NumImplicitDestructorsDeclared;
   
-private:
-  ASTContext(const ASTContext &) = delete;
-  void operator=(const ASTContext &) = delete;
-
 public:
   /// \brief Initialize built-in types.
   ///
@@ -2567,6 +2653,7 @@ private:
 
   friend class DeclContext;
   friend class DeclarationNameTable;
+
   void ReleaseDeclContextMaps();
   void ReleaseParentMapEntries();
 
@@ -2589,7 +2676,8 @@ public:
     DeclaratorDecl *Decl;
     SourceLocation PragmaSectionLocation;
     int SectionFlags;
-    SectionInfo() {}
+
+    SectionInfo() = default;
     SectionInfo(DeclaratorDecl *Decl,
                 SourceLocation PragmaSectionLocation,
                 int SectionFlags)
@@ -2711,4 +2799,4 @@ typename clang::LazyGenerationalUpdatePt
   return Value;
 }
 
-#endif
+#endif // LLVM_CLANG_AST_ASTCONTEXT_H

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -24,6 +24,7 @@
 namespace clang {
   class ASTContext;
   class CXXCtorInitializer;
+  class CXXBaseSpecifier;
   class Decl;
   class DeclContext;
   class DiagnosticsEngine;
@@ -39,7 +40,9 @@ namespace clang {
   class ASTImporter {
   public:
     typedef llvm::DenseSet<std::pair<Decl *, Decl *> > NonEquivalentDeclSet;
-    
+    typedef llvm::DenseMap<const CXXBaseSpecifier *, CXXBaseSpecifier *>
+    ImportedCXXBaseSpecifierMap;
+
   private:
     /// \brief The contexts we're importing to and from.
     ASTContext &ToContext, &FromContext;
@@ -68,7 +71,12 @@ namespace clang {
     /// \brief Mapping from the already-imported FileIDs in the "from" source
     /// manager to the corresponding FileIDs in the "to" source manager.
     llvm::DenseMap<FileID, FileID> ImportedFileIDs;
-    
+
+    /// \brief Mapping from the already-imported CXXBasesSpecifier in
+    ///  the "from" source manager to the corresponding CXXBasesSpecifier
+    ///  in the "to" source manager.
+    ImportedCXXBaseSpecifierMap ImportedCXXBaseSpecifiers;
+
     /// \brief Imported, anonymous tag declarations that are missing their 
     /// corresponding typedefs.
     SmallVector<TagDecl *, 4> AnonTagsWithPendingTypedefs;
@@ -212,8 +220,13 @@ namespace clang {
     /// \returns the equivalent initializer in the "to" context.
     CXXCtorInitializer *Import(CXXCtorInitializer *FromInit);
 
+    /// \brief Import the given CXXBaseSpecifier from the "from" context into
+    /// the "to" context.
+    ///
+    /// \returns the equivalent CXXBaseSpecifier in the source manager of the
+    /// "to" context.
+    CXXBaseSpecifier *Import(const CXXBaseSpecifier *FromSpec);
 
-    
     /// \brief Import the definition of the given declaration, including all of
     /// the declarations it contains.
     ///

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -22,6 +22,7 @@ namespace clang {
   class CXXRecordDecl;
   class Decl;
   class DeclContext;
+  class FieldDecl;
   class FunctionDecl;
   class FunctionTemplateDecl;
   class Module;
@@ -93,6 +94,9 @@ public:
   /// \brief A default argument was instantiated.
   virtual void DefaultArgumentInstantiated(const ParmVarDecl *D) {}
 
+  /// \brief A default member initializer was instantiated.
+  virtual void DefaultMemberInitializerInstantiated(const FieldDecl *D) {}
+
   /// \brief A new objc category class was added for an interface.
   virtual void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD,
                                             const ObjCInterfaceDecl *IFD) {}

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -121,6 +121,7 @@ private:
   enum NodeKindId {
     NKI_None,
     NKI_TemplateArgument,
+    NKI_TemplateName,
     NKI_NestedNameSpecifierLoc,
     NKI_QualType,
     NKI_TypeLoc,
@@ -175,6 +176,7 @@ private:
   };
 KIND_TO_KIND_ID(CXXCtorInitializer)
 KIND_TO_KIND_ID(TemplateArgument)
+KIND_TO_KIND_ID(TemplateName)
 KIND_TO_KIND_ID(NestedNameSpecifier)
 KIND_TO_KIND_ID(NestedNameSpecifierLoc)
 KIND_TO_KIND_ID(QualType)
@@ -472,6 +474,10 @@ struct DynTypedNode::BaseConverter<
 
 template <>
 struct DynTypedNode::BaseConverter<
+    TemplateName, void> : public ValueConverter<TemplateName> {};
+
+template <>
+struct DynTypedNode::BaseConverter<
     NestedNameSpecifierLoc,
     void> : public ValueConverter<NestedNameSpecifierLoc> {};
 

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/ASTVector.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -20,7 +20,6 @@
 
 #include "clang/AST/AttrIterator.h"
 #include "llvm/ADT/PointerIntPair.h"
-#include "llvm/Support/Allocator.h"
 #include "llvm/Support/type_traits.h"
 #include <algorithm>
 #include <cstring>
@@ -381,7 +380,7 @@ void ASTVector<T>::grow(const ASTContext
     NewCapacity = MinSize;
 
   // Allocate the memory from the ASTContext.
-  T *NewElts = new (C, llvm::alignOf<T>()) T[NewCapacity];
+  T *NewElts = new (C, alignof(T)) T[NewCapacity];
 
   // Copy the elements over.
   if (Begin != End) {

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -24,8 +24,6 @@
 #include "clang/Basic/Sanitizers.h"
 #include "clang/Basic/SourceLocation.h"
 #include "clang/Basic/VersionTuple.h"
-#include "llvm/ADT/SmallVector.h"
-#include "llvm/ADT/StringRef.h"
 #include "llvm/ADT/StringSwitch.h"
 #include "llvm/Support/ErrorHandling.h"
 #include "llvm/Support/raw_ostream.h"
@@ -57,21 +55,20 @@ protected:
   unsigned IsLateParsed : 1;
   unsigned DuplicatesAllowed : 1;
 
-  void *operator new(size_t bytes) LLVM_NOEXCEPT {
+  void *operator new(size_t bytes) noexcept {
     llvm_unreachable("Attrs cannot be allocated with regular 'new'.");
   }
-  void operator delete(void *data) LLVM_NOEXCEPT {
+  void operator delete(void *data) noexcept {
     llvm_unreachable("Attrs cannot be released with regular 'delete'.");
   }
 
 public:
   // Forward so that the regular new and delete do not hide global ones.
   void *operator new(size_t Bytes, ASTContext &C,
-                     size_t Alignment = 8) LLVM_NOEXCEPT {
+                     size_t Alignment = 8) noexcept {
     return ::operator new(Bytes, C, Alignment);
   }
-  void operator delete(void *Ptr, ASTContext &C,
-                       size_t Alignment) LLVM_NOEXCEPT {
+  void operator delete(void *Ptr, ASTContext &C, size_t Alignment) noexcept {
     return ::operator delete(Ptr, C, Alignment);
   }
 

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -39,8 +39,7 @@ void operator delete[](void *Ptr, const 
 namespace clang {
 
 /// AttrVec - A vector of Attr, which is how they are stored on the AST.
-typedef SmallVector<Attr*, 2> AttrVec;
-typedef SmallVector<const Attr*, 2> ConstAttrVec;
+typedef SmallVector<Attr *, 4> AttrVec;
 
 /// specific_attr_iterator - Iterates over a subrange of an AttrVec, only
 /// providing attributes that are of a specific type.

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -16,7 +16,6 @@
 
 #include "clang/AST/DeclBase.h"
 #include "clang/AST/DeclCXX.h"
-#include "clang/AST/DeclarationName.h"
 #include "clang/AST/Type.h"
 #include "clang/AST/TypeOrdering.h"
 #include "llvm/ADT/MapVector.h"
@@ -24,7 +23,6 @@
 #include "llvm/ADT/SmallVector.h"
 #include <cassert>
 #include <list>
-#include <map>
 
 namespace clang {
   
@@ -174,7 +172,7 @@ public:
   /// paths for a derived-to-base search.
   explicit CXXBasePaths(bool FindAmbiguities = true, bool RecordPaths = true,
                         bool DetectVirtual = true)
-      : FindAmbiguities(FindAmbiguities), RecordPaths(RecordPaths),
+      : Origin(), FindAmbiguities(FindAmbiguities), RecordPaths(RecordPaths),
         DetectVirtual(DetectVirtual), DetectedVirtual(nullptr),
         NumDeclsFound(0) {}
 

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -630,8 +630,8 @@ CanQual<T> CanQual<T>::CreateUnsafe(Qual
 template<typename T>
 template<typename U>
 CanProxy<U> CanQual<T>::getAs() const {
-  ArrayType_cannot_be_used_with_getAs<U> at;
-  (void)at;
+  static_assert(!TypeIsArrayType<T>::value,
+                "ArrayType cannot be used with getAs!");
 
   if (Stored.isNull())
     return CanProxy<U>();
@@ -645,8 +645,8 @@ CanProxy<U> CanQual<T>::getAs() const {
 template<typename T>
 template<typename U>
 CanProxy<U> CanQual<T>::castAs() const {
-  ArrayType_cannot_be_used_with_getAs<U> at;
-  (void)at;
+  static_assert(!TypeIsArrayType<U>::value,
+                "ArrayType cannot be used with castAs!");
 
   assert(!Stored.isNull() && isa<U>(Stored.getTypePtr()));
   return CanQual<U>::CreateUnsafe(Stored);

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -17,7 +17,6 @@
 #include "clang/Basic/Diagnostic.h"
 #include "clang/Basic/SourceManager.h"
 #include "llvm/ADT/SmallString.h"
-#include "llvm/ADT/SmallVector.h"
 #include "llvm/ADT/StringRef.h"
 #include "llvm/Support/Allocator.h"
 #include "llvm/Support/raw_ostream.h"

Modified: projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h
==============================================================================
--- projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h	Mon Jan  2 21:25:48 2017	(r311142)
+++ projects/clang400-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h	Mon Jan  2 21:29:30 2017	(r311143)
@@ -251,7 +251,7 @@ public:
   // FIXME: Deprecated, move clients to getName().
   std::string getNameAsString() const { return Name.getAsString(); }
 
-  void printName(raw_ostream &os) const { os << Name; }
+  virtual void printName(raw_ostream &os) const;
 
   /// getDeclName - Get the actual, stored name of the declaration,
   /// which may be a special name.
@@ -789,7 +789,7 @@ public:
 
 protected:
   // A pointer union of Stmt * and EvaluatedStmt *. When an EvaluatedStmt, we
-  // have allocated the auxilliary struct of information there.
+  // have allocated the auxiliary struct of information there.
   //
   // TODO: It is a bit unfortunate to use a PointerUnion inside the VarDecl for
   // this as *many* VarDecls are ParmVarDecls that don't have default
@@ -865,6 +865,11 @@ protected:
 
     unsigned : NumVarDeclBits;
 
+    // FIXME: We need something similar to CXXRecordDecl::DefinitionData.
+    /// \brief Whether this variable is a definition which was demoted due to
+    /// module merge.
+    unsigned IsThisDeclarationADemotedDefinition : 1;
+
     /// \brief Whether this variable is the exception variable in a C++ catch
     /// or an Objective-C @catch statement.
     unsigned ExceptionVar : 1;
@@ -1025,7 +1030,7 @@ public:
   ///   void foo() { int x; static int y; extern int z; }
   ///
   bool isLocalVarDecl() const {
-    if (getKind() != Decl::Var)
+    if (getKind() != Decl::Var && getKind() != Decl::Decomposition)
       return false;
     if (const DeclContext *DC = getLexicalDeclContext())
       return DC->getRedeclContext()->isFunctionOrMethod();
@@ -1040,7 +1045,7 @@ public:
   /// isFunctionOrMethodVarDecl - Similar to isLocalVarDecl, but
   /// excludes variables declared in blocks.
   bool isFunctionOrMethodVarDecl() const {
-    if (getKind() != Decl::Var)
+    if (getKind() != Decl::Var && getKind() != Decl::Decomposition)
       return false;
     const DeclContext *DC = getLexicalDeclContext()->getRedeclContext();
     return DC->isFunctionOrMethod() && DC->getDeclKind() != Decl::Block;
@@ -1198,12 +1203,28 @@ public:
   InitializationStyle getInitStyle() const {
     return static_cast<InitializationStyle>(VarDeclBits.InitStyle);
   }
-
   /// \brief Whether the initializer is a direct-initializer (list or call).
   bool isDirectInit() const {
     return getInitStyle() != CInit;
   }
 
+  /// \brief If this definition should pretend to be a declaration.
+  bool isThisDeclarationADemotedDefinition() const {
+    return isa<ParmVarDecl>(this) ? false :
+      NonParmVarDeclBits.IsThisDeclarationADemotedDefinition;
+  }
+
+  /// \brief This is a definition which should be demoted to a declaration.
+  ///
+  /// In some cases (mostly module merging) we can end up with two visible
+  /// definitions one of which needs to be demoted to a declaration to keep
+  /// the AST invariants.
+  void demoteThisDefinitionToDeclaration() {
+    assert (isThisDeclarationADefinition() && "Not a definition!");

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



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