From owner-svn-src-projects@freebsd.org Wed Dec 30 13:34:52 2015 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 92F56A55892 for ; Wed, 30 Dec 2015 13:34:52 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 14DF41FF7; Wed, 30 Dec 2015 13:34:52 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id tBUDYpCg083462; Wed, 30 Dec 2015 13:34:51 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id tBUDYoHD083454; Wed, 30 Dec 2015 13:34:50 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201512301334.tBUDYoHD083454@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 30 Dec 2015 13:34:50 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r292942 - in projects/clang380-import/contrib/llvm/tools/clang: include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/ASTMatchers/Dynamic include/clang... X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 30 Dec 2015 13:34:52 -0000 Author: dim Date: Wed Dec 30 13:34:49 2015 New Revision: 292942 URL: https://svnweb.freebsd.org/changeset/base/292942 Log: Update clang to trunk r256633. Added: projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ExprOpenMP.h - copied unchanged from r292941, vendor/clang/dist/include/clang/AST/ExprOpenMP.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsWebAssembly.def - copied unchanged from r292941, vendor/clang/dist/include/clang/Basic/BuiltinsWebAssembly.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ModuleFileExtension.h - copied unchanged from r292941, vendor/clang/dist/include/clang/Serialization/ModuleFileExtension.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/IssueHash.h - copied unchanged from r292941, vendor/clang/dist/include/clang/StaticAnalyzer/Core/IssueHash.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h - copied unchanged from r292941, vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeMap.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h - copied unchanged from r292941, vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/LoopWidening.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/Core/Lookup.h - copied unchanged from r292941, vendor/clang/dist/include/clang/Tooling/Core/Lookup.h projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExprObjC.cpp - copied unchanged from r292941, vendor/clang/dist/lib/AST/ExprObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/OpenMPClause.cpp - copied unchanged from r292941, vendor/clang/dist/lib/AST/OpenMPClause.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtCXX.cpp - copied unchanged from r292941, vendor/clang/dist/lib/AST/StmtCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtObjC.cpp - copied unchanged from r292941, vendor/clang/dist/lib/AST/StmtObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtOpenMP.cpp - copied unchanged from r292941, vendor/clang/dist/lib/AST/StmtOpenMP.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/Address.h - copied unchanged from r292941, vendor/clang/dist/lib/CodeGen/Address.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypeCache.h - copied unchanged from r292941, vendor/clang/dist/lib/CodeGen/CodeGenTypeCache.h projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/TestModuleFileExtension.cpp - copied unchanged from r292941, vendor/clang/dist/lib/Frontend/TestModuleFileExtension.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/TestModuleFileExtension.h - copied unchanged from r292941, vendor/clang/dist/lib/Frontend/TestModuleFileExtension.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/__clang_cuda_runtime_wrapper.h - copied unchanged from r292941, vendor/clang/dist/lib/Headers/__clang_cuda_runtime_wrapper.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/xsavecintrin.h - copied unchanged from r292941, vendor/clang/dist/lib/Headers/xsavecintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/xsaveintrin.h - copied unchanged from r292941, vendor/clang/dist/lib/Headers/xsaveintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/xsaveoptintrin.h - copied unchanged from r292941, vendor/clang/dist/lib/Headers/xsaveoptintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/xsavesintrin.h - copied unchanged from r292941, vendor/clang/dist/lib/Headers/xsavesintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaCoroutine.cpp - copied unchanged from r292941, vendor/clang/dist/lib/Sema/SemaCoroutine.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ModuleFileExtension.cpp - copied unchanged from r292941, vendor/clang/dist/lib/Serialization/ModuleFileExtension.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/MultiOnDiskHashTable.h - copied unchanged from r292941, vendor/clang/dist/lib/Serialization/MultiOnDiskHashTable.h projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Checkers/PaddingChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VforkChecker.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Checkers/VforkChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Core/DynamicTypeMap.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/IssueHash.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Core/IssueHash.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/LoopWidening.cpp - copied unchanged from r292941, vendor/clang/dist/lib/StaticAnalyzer/Core/LoopWidening.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/Core/Lookup.cpp - copied unchanged from r292941, vendor/clang/dist/lib/Tooling/Core/Lookup.cpp Deleted: projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXCompilationDatabase.h projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXString.h projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/BuiltinTypes.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/CharUnits.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclFriend.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclGroup.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclOpenMP.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/EvaluatedExprVisitor.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ExprObjC.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Mangle.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/OperationKinds.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/PrettyPrinter.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/StmtVisitor.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/TemplateName.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchFinder.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Diagnostics.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Parser.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Registry.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Consumed.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Analysis/ProgramPoint.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Analysis/Support/BumpVector.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Attributes.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Builtins.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsAArch64.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsNVPTX.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/ObjCRuntime.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/OpenCLExtensions.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/OpenMPKinds.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/OperatorKinds.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/PartialDiagnostic.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/SourceLocation.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/StmtNodes.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/TargetCXXABI.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/VirtualFileSystem.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Basic/arm_neon.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenABITypes.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/CodeGen/ObjectFilePCHContainerOperations.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Action.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Compilation.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Driver/Types.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Edit/Commit.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Edit/EditedSource.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Format/Format.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/DependencyOutputOptions.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/PCHContainerOperations.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/SerializedDiagnosticReader.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/DirectoryLookup.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearchOptions.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteOptions.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/ArgumentsAdjusters.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/CommonOptionsParser.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/Core/Replacement.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/JSONCompilationDatabase.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/clang380-import/contrib/llvm/tools/clang/include/clang/module.modulemap projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/FileRemapper.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransGCAttrs.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransProperties.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/TransformActions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTDiagnostic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/CXXABI.h projects/clang380-import/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclFriend.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclGroup.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclOpenMP.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclPrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/DeclarationName.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Mangle.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/NestedNameSpecifier.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/RawCommentList.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtIterator.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/TemplateBase.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/TemplateName.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/TypeLoc.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Parser.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/VariantValue.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Analysis/BodyFarm.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Attributes.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Builtins.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/ObjCRuntime.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/SanitizerBlacklist.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCall.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenCLRuntime.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenABITypes.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTBAA.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.h projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Action.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Compilation.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/CrossWindowsToolChain.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/DriverOptions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Job.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/MinGWToolChain.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/clang380-import/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Edit/Commit.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Edit/EditedSource.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/Encoding.h projects/clang380-import/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/FormatToken.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/FormatToken.h projects/clang380-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h projects/clang380-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h projects/clang380-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/CreateInvocationFromCommandLine.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/DiagnosticRenderer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/HeaderIncludeGen.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/LogDiagnosticPrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/PCHContainerOperations.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/FrontendActions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/Intrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_aes.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/__wmmintrin_pclmul.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/adxintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/ammintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/arm_acle.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512erintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/bmi2intrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/bmiintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/f16cintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/fma4intrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/fmaintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/fxsrintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/htmxlintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/lzcntintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/mm3dnow.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/mmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/module.modulemap projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/nmmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/pmmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/popcntintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/prfchwintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/rdseedintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/rtmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/shaintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/smmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/stdint.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/tbmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/tgmath.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/tmmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/wmmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/x86intrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Headers/xopintrin.h projects/clang380-import/contrib/llvm/tools/clang/lib/Index/CommentToXML.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Index/SimpleFormatContext.h projects/clang380-import/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseAST.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/ParseTentative.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/AttributeList.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaFixItUtils.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaStmtAttr.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderInternals.h projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/GeneratePCH.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/AnalyzerStatsChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DebugCheckers.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/StreamChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/UnreachableCodeChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalysisManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BlockCounter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Checker.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerContext.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CheckerRegistry.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ConstraintManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/CoreEngine.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Environment.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExplodedGraph.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCXX.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineCallAndReturn.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineObjC.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ProgramState.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RangeConstraintManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SValBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Store.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SymbolManager.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/ArgumentsAdjusters.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/clang380-import/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/clang380-import/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/clang380-import/contrib/llvm/tools/clang/tools/driver/driver.cpp projects/clang380-import/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/clang380-import/contrib/llvm/tools/clang/utils/TableGen/ClangCommentCommandInfoEmitter.cpp projects/clang380-import/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp Directory Properties: projects/clang380-import/contrib/llvm/tools/clang/ (props changed) Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXCompilationDatabase.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXCompilationDatabase.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXCompilationDatabase.h Wed Dec 30 13:34:49 2015 (r292942) @@ -126,6 +126,12 @@ CINDEX_LINKAGE CXString clang_CompileCommand_getDirectory(CXCompileCommand); /** + * \brief Get the filename associated with the CompileCommand. + */ +CINDEX_LINKAGE CXString +clang_CompileCommand_getFilename(CXCompileCommand); + +/** * \brief Get the number of arguments in the compiler invocation. * */ Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXString.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXString.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/CXString.h Wed Dec 30 13:34:49 2015 (r292942) @@ -40,6 +40,11 @@ typedef struct { unsigned private_flags; } CXString; +typedef struct { + CXString *Strings; + unsigned Count; +} CXStringSet; + /** * \brief Retrieve the character data associated with the given string. */ @@ -51,6 +56,11 @@ CINDEX_LINKAGE const char *clang_getCStr CINDEX_LINKAGE void clang_disposeString(CXString string); /** + * \brief Free the given string set. + */ +CINDEX_LINKAGE void clang_disposeStringSet(CXStringSet *set); + +/** * @} */ Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/Index.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/Index.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang-c/Index.h Wed Dec 30 13:34:49 2015 (r292942) @@ -32,7 +32,7 @@ * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable. */ #define CINDEX_VERSION_MAJOR 0 -#define CINDEX_VERSION_MINOR 30 +#define CINDEX_VERSION_MINOR 32 #define CINDEX_VERSION_ENCODE(major, minor) ( \ ((major) * 10000) \ @@ -285,7 +285,6 @@ CINDEX_LINKAGE unsigned clang_CXIndex_ge */ typedef void *CXFile; - /** * \brief Retrieve the complete file and path name of the given file. */ @@ -705,7 +704,6 @@ CINDEX_LINKAGE unsigned clang_getNumDiag CINDEX_LINKAGE CXDiagnostic clang_getDiagnosticInSet(CXDiagnosticSet Diags, unsigned Index); - /** * \brief Describes the kind of error that occurred (if any) in a call to * \c clang_loadDiagnostics. @@ -1202,7 +1200,15 @@ enum CXTranslationUnit_Flags { * included into the set of code completions returned from this translation * unit. */ - CXTranslationUnit_IncludeBriefCommentsInCodeCompletion = 0x80 + CXTranslationUnit_IncludeBriefCommentsInCodeCompletion = 0x80, + + /** + * \brief Used to indicate that the precompiled preamble should be created on + * the first parse. Otherwise it will be created on the first reparse. This + * trades runtime on the first parse (serializing the preamble takes time) for + * reduced runtime on the second parse (can now reuse the preamble). + */ + CXTranslationUnit_CreatePreambleOnFirstParse = 0x100 }; /** @@ -1289,6 +1295,17 @@ clang_parseTranslationUnit2(CXIndex CIdx CXTranslationUnit *out_TU); /** + * \brief Same as clang_parseTranslationUnit2 but requires a full command line + * for \c command_line_args including argv[0]. This is useful if the standard + * library paths are relative to the binary. + */ +CINDEX_LINKAGE enum CXErrorCode clang_parseTranslationUnit2FullArgv( + CXIndex CIdx, const char *source_filename, + const char *const *command_line_args, int num_command_line_args, + struct CXUnsavedFile *unsaved_files, unsigned num_unsaved_files, + unsigned options, CXTranslationUnit *out_TU); + +/** * \brief Flags that control how translation units are saved. * * The enumerators in this enumeration type are meant to be bitwise @@ -1573,7 +1590,7 @@ enum CXCursorKind { CXCursor_ObjCImplementationDecl = 18, /** \brief An Objective-C \@implementation for a category. */ CXCursor_ObjCCategoryImplDecl = 19, - /** \brief A typedef */ + /** \brief A typedef. */ CXCursor_TypedefDecl = 20, /** \brief A C++ class method. */ CXCursor_CXXMethod = 21, @@ -1982,7 +1999,11 @@ enum CXCursorKind { */ CXCursor_ObjCSelfExpr = 146, - CXCursor_LastExpr = CXCursor_ObjCSelfExpr, + /** \brief OpenMP 4.0 [2.4, Array Section]. + */ + CXCursor_OMPArraySectionExpr = 147, + + CXCursor_LastExpr = CXCursor_OMPArraySectionExpr, /* Statements */ CXCursor_FirstStmt = 200, @@ -2227,17 +2248,33 @@ enum CXCursorKind { /** \brief OpenMP taskgroup directive. */ - CXCursor_OMPTaskgroupDirective = 254, + CXCursor_OMPTaskgroupDirective = 254, /** \brief OpenMP cancellation point directive. */ - CXCursor_OMPCancellationPointDirective = 255, + CXCursor_OMPCancellationPointDirective = 255, /** \brief OpenMP cancel directive. */ - CXCursor_OMPCancelDirective = 256, + CXCursor_OMPCancelDirective = 256, + + /** \brief OpenMP target data directive. + */ + CXCursor_OMPTargetDataDirective = 257, - CXCursor_LastStmt = CXCursor_OMPCancelDirective, + /** \brief OpenMP taskloop directive. + */ + CXCursor_OMPTaskLoopDirective = 258, + + /** \brief OpenMP taskloop simd directive. + */ + CXCursor_OMPTaskLoopSimdDirective = 259, + + /** \brief OpenMP distribute directive. + */ + CXCursor_OMPDistributeDirective = 260, + + CXCursor_LastStmt = CXCursor_OMPDistributeDirective, /** * \brief Cursor that represents the translation unit itself. @@ -2271,7 +2308,10 @@ enum CXCursorKind { CXCursor_CUDAGlobalAttr = 414, CXCursor_CUDAHostAttr = 415, CXCursor_CUDASharedAttr = 416, - CXCursor_LastAttr = CXCursor_CUDASharedAttr, + CXCursor_VisibilityAttr = 417, + CXCursor_DLLExport = 418, + CXCursor_DLLImport = 419, + CXCursor_LastAttr = CXCursor_DLLImport, /* Preprocessing */ CXCursor_PreprocessingDirective = 500, @@ -2287,8 +2327,9 @@ enum CXCursorKind { * \brief A module import declaration. */ CXCursor_ModuleImportDecl = 600, + CXCursor_TypeAliasTemplateDecl = 601, CXCursor_FirstExtraDecl = CXCursor_ModuleImportDecl, - CXCursor_LastExtraDecl = CXCursor_ModuleImportDecl, + CXCursor_LastExtraDecl = CXCursor_TypeAliasTemplateDecl, /** * \brief A code completion overload candidate. @@ -2439,6 +2480,32 @@ enum CXLinkageKind { */ CINDEX_LINKAGE enum CXLinkageKind clang_getCursorLinkage(CXCursor cursor); +enum CXVisibilityKind { + /** \brief This value indicates that no visibility information is available + * for a provided CXCursor. */ + CXVisibility_Invalid, + + /** \brief Symbol not seen by the linker. */ + CXVisibility_Hidden, + /** \brief Symbol seen by the linker but resolves to a symbol inside this object. */ + CXVisibility_Protected, + /** \brief Symbol seen by the linker and acts like a normal symbol. */ + CXVisibility_Default +}; + +/** + * \brief Describe the visibility of the entity referred to by a cursor. + * + * This returns the default visibility if not explicitly specified by + * a visibility attribute. The default visibility may be changed by + * commandline arguments. + * + * \param cursor The cursor to query. + * + * \returns The visibility of the cursor. + */ +CINDEX_LINKAGE enum CXVisibilityKind clang_getCursorVisibility(CXCursor cursor); + /** * \brief Determine the availability of the entity that this cursor refers to, * taking the current target platform into account. @@ -2558,7 +2625,6 @@ CINDEX_LINKAGE enum CXLanguageKind clang */ CINDEX_LINKAGE CXTranslationUnit clang_Cursor_getTranslationUnit(CXCursor); - /** * \brief A fast container representing a set of CXCursors. */ @@ -2851,7 +2917,8 @@ enum CXTypeKind { CXType_IncompleteArray = 114, CXType_VariableArray = 115, CXType_DependentSizedArray = 116, - CXType_MemberPointer = 117 + CXType_MemberPointer = 117, + CXType_Auto = 118 }; /** @@ -2876,7 +2943,6 @@ enum CXCallingConv { CXCallingConv_Unexposed = 200 }; - /** * \brief The type of an element in the abstract syntax tree. * @@ -3314,7 +3380,6 @@ CINDEX_LINKAGE long long clang_Cursor_ge */ CINDEX_LINKAGE unsigned clang_Cursor_isAnonymous(CXCursor C); - enum CXRefQualifierKind { /** \brief No ref-qualifier was provided. */ CXRefQualifier_None = 0, @@ -3443,7 +3508,6 @@ CINDEX_LINKAGE CXCursor clang_getOverloa * @{ */ - /** * \brief For cursors representing an iboutletcollection attribute, * this function returns the collection element type. @@ -3597,7 +3661,6 @@ CINDEX_LINKAGE CXString CINDEX_LINKAGE CXString clang_constructUSR_ObjCProtocol(const char *protocol_name); - /** * \brief Construct a USR for a specified Objective-C instance variable and * the USR for its containing class. @@ -3723,7 +3786,6 @@ CINDEX_LINKAGE unsigned clang_isCursorDe */ CINDEX_LINKAGE CXCursor clang_getCanonicalCursor(CXCursor); - /** * \brief If the cursor points to a selector identifier in an Objective-C * method or message expression, this returns the selector index. @@ -3854,6 +3916,12 @@ CINDEX_LINKAGE CXString clang_Cursor_get CINDEX_LINKAGE CXString clang_Cursor_getMangling(CXCursor); /** + * \brief Retrieve the CXStrings representing the mangled symbols of the C++ + * constructor or destructor at the cursor. + */ +CINDEX_LINKAGE CXStringSet *clang_Cursor_getCXXManglings(CXCursor); + +/** * @} */ @@ -3948,6 +4016,11 @@ CXFile clang_Module_getTopLevelHeader(CX */ /** + * \brief Determine if a C++ field is declared 'mutable'. + */ +CINDEX_LINKAGE unsigned clang_CXXField_isMutable(CXCursor C); + +/** * \brief Determine if a C++ member function or member function template is * pure virtual. */ @@ -4939,8 +5012,7 @@ enum CXCursorKind clang_codeCompleteGetC */ CINDEX_LINKAGE CXString clang_codeCompleteGetContainerUSR(CXCodeCompleteResults *Results); - - + /** * \brief Returns the currently-entered selector for an Objective-C message * send, formatted like "initWithFoo:bar:". Only guaranteed to return a @@ -4959,7 +5031,6 @@ CXString clang_codeCompleteGetObjCSelect * @} */ - /** * \defgroup CINDEX_MISC Miscellaneous utility functions * @@ -4972,7 +5043,6 @@ CXString clang_codeCompleteGetObjCSelect */ CINDEX_LINKAGE CXString clang_getClangVersion(void); - /** * \brief Enable/disable crash recovery. * @@ -5659,6 +5729,18 @@ CINDEX_LINKAGE int clang_indexSourceFile unsigned TU_options); /** + * \brief Same as clang_indexSourceFile but requires a full command line + * for \c command_line_args including argv[0]. This is useful if the standard + * library paths are relative to the binary. + */ +CINDEX_LINKAGE int clang_indexSourceFileFullArgv( + CXIndexAction, CXClientData client_data, IndexerCallbacks *index_callbacks, + unsigned index_callbacks_size, unsigned index_options, + const char *source_filename, const char *const *command_line_args, + int num_command_line_args, struct CXUnsavedFile *unsaved_files, + unsigned num_unsaved_files, CXTranslationUnit *out_TU, unsigned TU_options); + +/** * \brief Index the given translation unit via callbacks implemented through * #IndexerCallbacks. * @@ -5739,7 +5821,6 @@ CINDEX_LINKAGE unsigned clang_Type_visit CXFieldVisitor visitor, CXClientData client_data); - /** * @} */ @@ -5752,4 +5833,3 @@ CINDEX_LINKAGE unsigned clang_Type_visit } #endif #endif - Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Wed Dec 30 13:34:49 2015 (r292942) @@ -28,6 +28,7 @@ #include "clang/Basic/AddressSpaces.h" #include "clang/Basic/IdentifierTable.h" #include "clang/Basic/LangOptions.h" +#include "clang/Basic/Module.h" #include "clang/Basic/OperatorKinds.h" #include "clang/Basic/PartialDiagnostic.h" #include "clang/Basic/SanitizerBlacklist.h" @@ -70,6 +71,7 @@ namespace clang { class VTableContextBase; namespace Builtin { class Context; } + enum BuiltinTemplateKind : int; namespace comments { class FullComment; @@ -176,8 +178,9 @@ class ASTContext : public RefCountedBase ClassScopeSpecializationPattern; /// \brief Mapping from materialized temporaries with static storage duration - /// that appear in constant initializers to their evaluated values. - llvm::DenseMap + /// that appear in constant initializers to their evaluated values. These are + /// allocated in a std::map because their address must be stable. + llvm::DenseMap MaterializedTemporaryValues; /// \brief Representation of a "canonical" template template parameter that @@ -215,6 +218,9 @@ class ASTContext : public RefCountedBase /// __builtin_va_list type. mutable TypedefDecl *BuiltinVaListDecl; + /// The typedef for the predefined \c __builtin_ms_va_list type. + mutable TypedefDecl *BuiltinMSVaListDecl; + /// \brief The typedef for the predefined \c id type. mutable TypedefDecl *ObjCIdDecl; @@ -242,6 +248,9 @@ class ASTContext : public RefCountedBase /// The identifier 'NSCopying'. IdentifierInfo *NSCopyingName = nullptr; + /// The identifier '__make_integer_seq'. + mutable IdentifierInfo *MakeIntegerSeqName = nullptr; + QualType ObjCConstantStringType; mutable RecordDecl *CFConstantStringTypeDecl; @@ -395,6 +404,7 @@ private: TranslationUnitDecl *TUDecl; mutable ExternCContextDecl *ExternCContext; + mutable BuiltinTemplateDecl *MakeIntegerSeqDecl; /// \brief The associated SourceManager object.a SourceManager &SourceMgr; @@ -433,6 +443,7 @@ private: friend class CXXRecordDecl; const TargetInfo *Target; + const TargetInfo *AuxTarget; clang::PrintingPolicy PrintingPolicy; public: @@ -446,10 +457,59 @@ public: /// \brief Contains parents of a node. typedef llvm::SmallVector ParentVector; - /// \brief Maps from a node to its parents. + /// \brief Maps from a node to its parents. This is used for nodes that have + /// pointer identity only, which are more common and we can save space by + /// only storing a unique pointer to them. typedef llvm::DenseMap> ParentMap; + llvm::PointerUnion4> ParentMapPointers; + + /// Parent map for nodes without pointer identity. We store a full + /// DynTypedNode for all keys. + typedef llvm::DenseMap< + ast_type_traits::DynTypedNode, + llvm::PointerUnion4> + ParentMapOtherNodes; + + /// Container for either a single DynTypedNode or for an ArrayRef to + /// DynTypedNode. For use with ParentMap. + class DynTypedNodeList { + typedef ast_type_traits::DynTypedNode DynTypedNode; + llvm::AlignedCharArrayUnion> Storage; + bool IsSingleNode; + + public: + DynTypedNodeList(const DynTypedNode &N) : IsSingleNode(true) { + new (Storage.buffer) DynTypedNode(N); + } + DynTypedNodeList(ArrayRef A) : IsSingleNode(false) { + new (Storage.buffer) ArrayRef(A); + } + + const ast_type_traits::DynTypedNode *begin() const { + if (!IsSingleNode) + return reinterpret_cast *>(Storage.buffer) + ->begin(); + return reinterpret_cast(Storage.buffer); + } + + const ast_type_traits::DynTypedNode *end() const { + if (!IsSingleNode) + return reinterpret_cast *>(Storage.buffer) + ->end(); + return reinterpret_cast(Storage.buffer) + 1; + } + + 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); + } + }; /// \brief Returns the parents of the given node. /// @@ -475,13 +535,11 @@ public: /// /// 'NodeT' can be one of Decl, Stmt, Type, TypeLoc, /// NestedNameSpecifier or NestedNameSpecifierLoc. - template - ArrayRef getParents(const NodeT &Node) { + template DynTypedNodeList getParents(const NodeT &Node) { return getParents(ast_type_traits::DynTypedNode::create(Node)); } - ArrayRef - getParents(const ast_type_traits::DynTypedNode &Node); + DynTypedNodeList getParents(const ast_type_traits::DynTypedNode &Node); const clang::PrintingPolicy &getPrintingPolicy() const { return PrintingPolicy; @@ -501,6 +559,9 @@ public: void *Allocate(size_t Size, unsigned Align = 8) const { return BumpAlloc.Allocate(Size, Align); } + template T *Allocate(size_t Num = 1) const { + return static_cast(Allocate(Num * sizeof(T), llvm::alignOf())); + } void Deallocate(void *Ptr) const { } /// Return the total amount of physical memory allocated for representing @@ -516,7 +577,8 @@ public: } const TargetInfo &getTargetInfo() const { return *Target; } - + const TargetInfo *getAuxTargetInfo() const { return AuxTarget; } + /// getIntTypeForBitwidth - /// sets integer QualTy according to specified details: /// bitwidth, signed/unsigned. @@ -812,6 +874,7 @@ public: TranslationUnitDecl *getTranslationUnitDecl() const { return TUDecl; } ExternCContextDecl *getExternCContextDecl() const; + BuiltinTemplateDecl *getMakeIntegerSeqDecl() const; // Builtin Types. CanQualType VoidTy; @@ -835,17 +898,21 @@ public: CanQualType ObjCBuiltinIdTy, ObjCBuiltinClassTy, ObjCBuiltinSelTy; CanQualType ObjCBuiltinBoolTy; CanQualType OCLImage1dTy, OCLImage1dArrayTy, OCLImage1dBufferTy; - CanQualType OCLImage2dTy, OCLImage2dArrayTy; + CanQualType OCLImage2dTy, OCLImage2dArrayTy, OCLImage2dDepthTy; + CanQualType OCLImage2dArrayDepthTy, OCLImage2dMSAATy, OCLImage2dArrayMSAATy; + CanQualType OCLImage2dMSAADepthTy, OCLImage2dArrayMSAADepthTy; CanQualType OCLImage3dTy; - CanQualType OCLSamplerTy, OCLEventTy; + CanQualType OCLSamplerTy, OCLEventTy, OCLClkEventTy; + CanQualType OCLQueueTy, OCLNDRangeTy, OCLReserveIDTy; + CanQualType OMPArraySectionTy; // Types for deductions in C++0x [stmt.ranged]'s desugaring. Built on demand. mutable QualType AutoDeductTy; // Deduction against 'auto'. mutable QualType AutoRRefDeductTy; // Deduction against 'auto &&'. - // Type used to help define __builtin_va_list for some targets. - // The type is built when constructing 'BuiltinVaListDecl'. - mutable QualType VaListTagTy; + // Decl used to help define __builtin_va_list for some targets. + // The decl is built when constructing 'BuiltinVaListDecl'. + mutable Decl *VaListTagDecl; ASTContext(LangOptions &LOpts, SourceManager &SM, IdentifierTable &idents, SelectorTable &sels, Builtin::Context &builtins); @@ -881,6 +948,9 @@ public: void PrintStats() const; const SmallVectorImpl& getTypes() const { return Types; } + BuiltinTemplateDecl *buildBuiltinTemplateDecl(BuiltinTemplateKind BTK, + const IdentifierInfo *II) const; + /// \brief Create a new implicit TU-level CXXRecordDecl or RecordDecl /// declaration. RecordDecl *buildImplicitRecord(StringRef Name, @@ -955,6 +1025,9 @@ public: const FunctionType *adjustFunctionType(const FunctionType *Fn, FunctionType::ExtInfo EInfo); + /// Adjust the given function result type. + CanQualType getCanonicalFunctionResultType(QualType ResultType) const; + /// \brief Change the result type of a function type once it is deduced. void adjustDeducedFunctionResultType(FunctionDecl *FD, QualType ResultType); @@ -1227,7 +1300,7 @@ public: UnaryTransformType::UTTKind UKind) const; /// \brief C++11 deduced auto type. - QualType getAutoType(QualType DeducedType, bool IsDecltypeAuto, + QualType getAutoType(QualType DeducedType, AutoTypeKeyword Keyword, bool IsDependent) const; /// \brief C++11 deduction pattern for 'auto' type. @@ -1381,6 +1454,12 @@ public: return NSCopyingName; } + IdentifierInfo *getMakeIntegerSeqName() const { + if (!MakeIntegerSeqName) + MakeIntegerSeqName = &Idents.get("__make_integer_seq"); + return MakeIntegerSeqName; + } + /// \brief Retrieve the Objective-C "instancetype" type, if already known; /// otherwise, returns a NULL type; QualType getObjCInstanceType() { @@ -1569,7 +1648,16 @@ public: /// \brief Retrieve the C type declaration corresponding to the predefined /// \c __va_list_tag type used to help define the \c __builtin_va_list type /// for some targets. - QualType getVaListTagType() const; + Decl *getVaListTagDecl() const; + + /// Retrieve the C type declaration corresponding to the predefined + /// \c __builtin_ms_va_list type. + TypedefDecl *getBuiltinMSVaListDecl() const; + + /// Retrieve the type of the \c __builtin_ms_va_list type. + QualType getBuiltinMSVaListType() const { + return getTypeDeclType(getBuiltinMSVaListDecl()); + } /// \brief Return a type with additional \c const, \c volatile, or /// \c restrict qualifiers. @@ -1774,7 +1862,6 @@ public: /// record (struct/union/class) \p D, which indicates its size and field /// position information. const ASTRecordLayout &getASTRecordLayout(const RecordDecl *D) const; - const ASTRecordLayout *BuildMicrosoftASTRecordLayout(const RecordDecl *D) const; /// \brief Get or compute information about the layout of the specified /// Objective-C interface. @@ -2170,9 +2257,7 @@ public: const FunctionProtoType *FromFunctionType, const FunctionProtoType *ToFunctionType); - void ResetObjCLayout(const ObjCContainerDecl *CD) { - ObjCLayouts[CD] = nullptr; - } + void ResetObjCLayout(const ObjCContainerDecl *CD); //===--------------------------------------------------------------------===// // Integer Predicates @@ -2188,16 +2273,6 @@ public: QualType getCorrespondingUnsignedType(QualType T) const; //===--------------------------------------------------------------------===// - // Type Iterators. - //===--------------------------------------------------------------------===// - typedef llvm::iterator_range::const_iterator> - type_const_range; - - type_const_range types() const { - return type_const_range(Types.begin(), Types.end()); - } - - //===--------------------------------------------------------------------===// // Integer Values //===--------------------------------------------------------------------===// @@ -2233,16 +2308,11 @@ public: /// \brief Get the duplicate declaration of a ObjCMethod in the same /// interface, or null if none exists. - const ObjCMethodDecl *getObjCMethodRedeclaration( - const ObjCMethodDecl *MD) const { - return ObjCMethodRedecls.lookup(MD); - } + const ObjCMethodDecl * + getObjCMethodRedeclaration(const ObjCMethodDecl *MD) const; void setObjCMethodRedeclaration(const ObjCMethodDecl *MD, - const ObjCMethodDecl *Redecl) { - assert(!getObjCMethodRedeclaration(MD) && "MD already has a redeclaration"); - ObjCMethodRedecls[MD] = Redecl; - } + const ObjCMethodDecl *Redecl); /// \brief Returns the Objective-C interface that \p ND belongs to if it is /// an Objective-C method/property/ivar etc. that is part of an interface, @@ -2307,6 +2377,14 @@ public: Expr *getDefaultArgExprForConstructor(const CXXConstructorDecl *CD, unsigned ParmIdx); + void addTypedefNameForUnnamedTagDecl(TagDecl *TD, TypedefNameDecl *TND); + + TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD); + + void addDeclaratorForUnnamedTagDecl(TagDecl *TD, DeclaratorDecl *DD); + + DeclaratorDecl *getDeclaratorForUnnamedTagDecl(const TagDecl *TD); + void setManglingNumber(const NamedDecl *ND, unsigned Number); unsigned getManglingNumber(const NamedDecl *ND) const; @@ -2388,9 +2466,10 @@ public: /// This routine may only be invoked once for a given ASTContext object. /// It is normally invoked after ASTContext construction. /// - /// \param Target The target - void InitBuiltinTypes(const TargetInfo &Target); - + /// \param Target The target + void InitBuiltinTypes(const TargetInfo &Target, + const TargetInfo *AuxTarget = nullptr); + private: void InitBuiltinType(CanQualType &R, BuiltinType::Kind K); @@ -2429,9 +2508,15 @@ private: /// \brief A set of deallocations that should be performed when the /// ASTContext is destroyed. - typedef llvm::SmallDenseMap > - DeallocationMap; - DeallocationMap Deallocations; + // FIXME: We really should have a better mechanism in the ASTContext to + // manage running destructors for types which do variable sized allocation + // within the AST. In some places we thread the AST bump pointer allocator + // into the datastructures which avoids this mess during deallocation but is + // wasteful of memory, and here we require a lot of error prone book keeping + // in order to track and run destructors while we're tearing things down. + typedef llvm::SmallVector, 16> + DeallocationFunctionsAndArguments; + DeallocationFunctionsAndArguments Deallocations; // FIXME: This currently contains the set of StoredDeclMaps used // by DeclContext objects. This probably should not be in ASTContext, @@ -2443,7 +2528,8 @@ private: void ReleaseDeclContextMaps(); void ReleaseParentMapEntries(); - std::unique_ptr AllParents; + std::unique_ptr PointerParents; + std::unique_ptr OtherParents; std::unique_ptr VTContext; Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h Wed Dec 30 13:34:49 2015 (r292942) @@ -92,18 +92,6 @@ public: virtual void AddedObjCCategoryToInterface(const ObjCCategoryDecl *CatD, const ObjCInterfaceDecl *IFD) {} - /// \brief A objc class extension redeclared or introduced a property. - /// - /// \param Prop the property in the class extension - /// - /// \param OrigProp the property from the original interface that was declared - /// or null if the property was introduced. - /// - /// \param ClassExt the class extension. - virtual void AddedObjCPropertyInClassExtension(const ObjCPropertyDecl *Prop, - const ObjCPropertyDecl *OrigProp, - const ObjCCategoryDecl *ClassExt) {} - /// \brief A declaration is marked used which was not previously marked used. /// /// \param D the declaration marked used Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/ASTTypeTraits.h Wed Dec 30 13:34:49 2015 (r292942) @@ -106,18 +106,25 @@ public: } }; + /// Check if the given ASTNodeKind identifies a type that offers pointer + /// identity. This is useful for the fast path in DynTypedNode. + bool hasPointerIdentity() const { + return KindId > NKI_LastKindWithoutPointerIdentity; + } + private: /// \brief Kind ids. /// /// Includes all possible base and derived kinds. enum NodeKindId { NKI_None, - NKI_CXXCtorInitializer, NKI_TemplateArgument, - NKI_NestedNameSpecifier, NKI_NestedNameSpecifierLoc, NKI_QualType, NKI_TypeLoc, + NKI_LastKindWithoutPointerIdentity = NKI_TypeLoc, + NKI_CXXCtorInitializer, + NKI_NestedNameSpecifier, NKI_Decl, #define DECL(DERIVED, BASE) NKI_##DERIVED##Decl, #include "clang/AST/DeclNodes.inc" @@ -238,7 +245,11 @@ public: /// Note that this is not supported by all AST nodes. For AST nodes /// that don't have a pointer-defined identity inside the AST, this /// method returns NULL. - const void *getMemoizationData() const { return MemoizationData; } + const void *getMemoizationData() const { + return NodeKind.hasPointerIdentity() + ? *reinterpret_cast(Storage.buffer) + : nullptr; + } /// \brief Prints the node to the given output stream. void print(llvm::raw_ostream &OS, const PrintingPolicy &PP) const; @@ -257,6 +268,32 @@ public: /// FIXME: Implement comparsion for other node types (currently /// only Stmt, Decl, Type and NestedNameSpecifier return memoization data). bool operator<(const DynTypedNode &Other) const { + if (!NodeKind.isSame(Other.NodeKind)) + return NodeKind < Other.NodeKind; + + if (ASTNodeKind::getFromNodeKind().isSame(NodeKind)) + return getUnchecked().getAsOpaquePtr() < + Other.getUnchecked().getAsOpaquePtr(); + + if (ASTNodeKind::getFromNodeKind().isSame(NodeKind)) { + auto TLA = getUnchecked(); + auto TLB = Other.getUnchecked(); + return std::make_pair(TLA.getType().getAsOpaquePtr(), + TLA.getOpaqueData()) < + std::make_pair(TLB.getType().getAsOpaquePtr(), + TLB.getOpaqueData()); + } + + if (ASTNodeKind::getFromNodeKind().isSame( + NodeKind)) { + auto NNSLA = getUnchecked(); + auto NNSLB = Other.getUnchecked(); + return std::make_pair(NNSLA.getNestedNameSpecifier(), + NNSLA.getOpaqueData()) < + std::make_pair(NNSLB.getNestedNameSpecifier(), + NNSLB.getOpaqueData()); + } + assert(getMemoizationData() && Other.getMemoizationData()); return getMemoizationData() < Other.getMemoizationData(); } @@ -270,6 +307,13 @@ public: if (ASTNodeKind::getFromNodeKind().isSame(NodeKind)) return getUnchecked() == Other.getUnchecked(); + if (ASTNodeKind::getFromNodeKind().isSame(NodeKind)) + return getUnchecked() == Other.getUnchecked(); + + if (ASTNodeKind::getFromNodeKind().isSame(NodeKind)) + return getUnchecked() == + Other.getUnchecked(); + assert(getMemoizationData() && Other.getMemoizationData()); return getMemoizationData() == Other.getMemoizationData(); } @@ -278,6 +322,47 @@ public: } /// @} + /// \brief Hooks for using DynTypedNode as a key in a DenseMap. + struct DenseMapInfo { + static inline DynTypedNode getEmptyKey() { + DynTypedNode Node; + Node.NodeKind = ASTNodeKind::DenseMapInfo::getEmptyKey(); + return Node; + } + static inline DynTypedNode getTombstoneKey() { + DynTypedNode Node; + Node.NodeKind = ASTNodeKind::DenseMapInfo::getTombstoneKey(); + return Node; + } + static unsigned getHashValue(const DynTypedNode &Val) { + // FIXME: Add hashing support for the remaining types. + if (ASTNodeKind::getFromNodeKind().isSame(Val.NodeKind)) { + auto TL = Val.getUnchecked(); + return llvm::hash_combine(TL.getType().getAsOpaquePtr(), + TL.getOpaqueData()); + } + + if (ASTNodeKind::getFromNodeKind().isSame( + Val.NodeKind)) { + auto NNSL = Val.getUnchecked(); + return llvm::hash_combine(NNSL.getNestedNameSpecifier(), + NNSL.getOpaqueData()); + } + + assert(Val.getMemoizationData()); + return llvm::hash_value(Val.getMemoizationData()); + } + static bool isEqual(const DynTypedNode &LHS, const DynTypedNode &RHS) { + auto Empty = ASTNodeKind::DenseMapInfo::getEmptyKey(); + auto TombStone = ASTNodeKind::DenseMapInfo::getTombstoneKey(); + return (ASTNodeKind::DenseMapInfo::isEqual(LHS.NodeKind, Empty) && + ASTNodeKind::DenseMapInfo::isEqual(RHS.NodeKind, Empty)) || + (ASTNodeKind::DenseMapInfo::isEqual(LHS.NodeKind, TombStone) && + ASTNodeKind::DenseMapInfo::isEqual(RHS.NodeKind, TombStone)) || + LHS == RHS; + } + }; + private: /// \brief Takes care of converting from and to \c T. template struct BaseConverter; @@ -286,18 +371,18 @@ private: template struct DynCastPtrConverter { static const T *get(ASTNodeKind NodeKind, const char Storage[]) { if (ASTNodeKind::getFromNodeKind().isBaseOf(NodeKind)) - return cast(*reinterpret_cast(Storage)); + return &getUnchecked(NodeKind, Storage); return nullptr; } static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) { assert(ASTNodeKind::getFromNodeKind().isBaseOf(NodeKind)); - return *cast(*reinterpret_cast(Storage)); + return *cast(static_cast( + *reinterpret_cast(Storage))); } static DynTypedNode create(const BaseT &Node) { DynTypedNode Result; Result.NodeKind = ASTNodeKind::getFromNode(Node); - Result.MemoizationData = &Node; - new (Result.Storage.buffer) const BaseT * (&Node); + new (Result.Storage.buffer) const void *(&Node); return Result; } }; @@ -306,18 +391,18 @@ private: template struct PtrConverter { static const T *get(ASTNodeKind NodeKind, const char Storage[]) { if (ASTNodeKind::getFromNodeKind().isSame(NodeKind)) - return *reinterpret_cast(Storage); + return &getUnchecked(NodeKind, Storage); return nullptr; } static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) { assert(ASTNodeKind::getFromNodeKind().isSame(NodeKind)); - return **reinterpret_cast(Storage); + return *static_cast( + *reinterpret_cast(Storage)); } static DynTypedNode create(const T &Node) { DynTypedNode Result; Result.NodeKind = ASTNodeKind::getFromNodeKind(); - Result.MemoizationData = &Node; - new (Result.Storage.buffer) const T * (&Node); + new (Result.Storage.buffer) const void *(&Node); return Result; } }; @@ -336,14 +421,12 @@ private: static DynTypedNode create(const T &Node) { DynTypedNode Result; Result.NodeKind = ASTNodeKind::getFromNodeKind(); - Result.MemoizationData = nullptr; new (Result.Storage.buffer) T(Node); return Result; } }; ASTNodeKind NodeKind; - const void *MemoizationData; /// \brief Stores the data of the node. /// @@ -353,12 +436,9 @@ private: /// \c QualTypes, \c NestedNameSpecifierLocs, \c TypeLocs and /// \c TemplateArguments on the other hand do not have storage or unique /// pointers and thus need to be stored by value. - typedef llvm::AlignedCharArrayUnion< - Decl *, Stmt *, Type *, NestedNameSpecifier *, CXXCtorInitializer *> - KindsByPointer; - llvm::AlignedCharArrayUnion - Storage; + llvm::AlignedCharArrayUnion Storage; }; template @@ -420,6 +500,10 @@ template <> struct DenseMapInfo : clang::ast_type_traits::ASTNodeKind::DenseMapInfo {}; +template <> +struct DenseMapInfo + : clang::ast_type_traits::DynTypedNode::DenseMapInfo {}; + } // end namespace llvm #endif Modified: projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h ============================================================================== --- projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h Wed Dec 30 13:13:10 2015 (r292941) +++ projects/clang380-import/contrib/llvm/tools/clang/include/clang/AST/Attr.h Wed Dec 30 13:34:49 2015 (r292942) @@ -56,21 +56,21 @@ protected: bool IsLateParsed : 1; bool DuplicatesAllowed : 1; - void* operator new(size_t bytes) throw() { + void *operator new(size_t bytes) LLVM_NOEXCEPT { llvm_unreachable("Attrs cannot be allocated with regular 'new'."); } - void operator delete(void* data) throw() { + void operator delete(void *data) LLVM_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) throw() { *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***