From owner-svn-src-projects@FreeBSD.ORG Wed May 27 20:44:51 2015 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 29EDE907; Wed, 27 May 2015 20:44:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::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 1413DB8; Wed, 27 May 2015 20:44:51 +0000 (UTC) (envelope-from dim@FreeBSD.org) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id t4RKipgF022971; Wed, 27 May 2015 20:44:51 GMT (envelope-from dim@FreeBSD.org) Received: (from dim@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id t4RKikif022888; Wed, 27 May 2015 20:44:46 GMT (envelope-from dim@FreeBSD.org) Message-Id: <201505272044.t4RKikif022888@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: dim set sender to dim@FreeBSD.org using -f From: Dimitry Andric Date: Wed, 27 May 2015 20:44:46 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r283633 - in projects/clang-trunk/contrib/llvm/tools/clang: . include/clang include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/ASTMatchers/Dynamic include/clang/A... 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, 27 May 2015 20:44:51 -0000 Author: dim Date: Wed May 27 20:44:45 2015 New Revision: 283633 URL: https://svnweb.freebsd.org/changeset/base/283633 Log: Merge clang trunk r238337 from ^/vendor/clang/dist, resolve conflicts, and preserve our customizations, where necessary. Added: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsSystemZ.def - copied unchanged from r283631, vendor/clang/dist/include/clang/Basic/BuiltinsSystemZ.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Core/RewriteBuffer.h - copied unchanged from r283631, vendor/clang/dist/include/clang/Rewrite/Core/RewriteBuffer.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512dqintrin.h - copied unchanged from r283631, vendor/clang/dist/lib/Headers/avx512dqintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512vldqintrin.h - copied unchanged from r283631, vendor/clang/dist/lib/Headers/avx512vldqintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/cuda/ - copied from r283631, vendor/clang/dist/lib/Headers/cuda/ projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/cuda_builtin_vars.h - copied unchanged from r283631, vendor/clang/dist/lib/Headers/cuda_builtin_vars.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/htmintrin.h - copied unchanged from r283631, vendor/clang/dist/lib/Headers/htmintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/htmxlintrin.h - copied unchanged from r283631, vendor/clang/dist/lib/Headers/htmxlintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/s390intrin.h - copied unchanged from r283631, vendor/clang/dist/lib/Headers/s390intrin.h Modified: projects/clang-trunk/contrib/llvm/tools/clang/LICENSE.TXT projects/clang-trunk/contrib/llvm/tools/clang/include/clang-c/Index.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Attr.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Decl.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclBase.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclCXX.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclContextInternals.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclObjC.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclTemplate.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DeclarationName.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Expr.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ExprCXX.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ExternalASTSource.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/LambdaCapture.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Mangle.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/NSAPI.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/NestedNameSpecifier.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/OpenMPClause.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/RecordLayout.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/RecursiveASTVisitor.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Redeclarable.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Stmt.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/StmtCXX.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/StmtIterator.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/StmtObjC.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/StmtOpenMP.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/TemplateBase.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Type.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/TypeLoc.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/TypeNodes.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/UnresolvedSet.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/VTableBuilder.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchers.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/ASTMatchersMacros.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Parser.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/Registry.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/Dominators.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/FormatString.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/LiveVariables.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafety.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/AnalysisContext.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Analysis/CFG.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/ABI.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Attr.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/AttrDocs.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Builtins.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Builtins.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsARM.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsPPC.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/BuiltinsX86.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DeclNodes.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Diagnostic.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticASTKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommentKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticCommonKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticDriverKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticFrontendKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticGroups.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticIDs.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticLexKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticParseKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/DiagnosticSerializationKinds.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/FileManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/IdentifierTable.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/LLVM.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/LangOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Linkage.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Module.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/PlistSupport.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/SanitizerBlacklist.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Sanitizers.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/SourceManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/SourceManagerInternals.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/Specifiers.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/TargetBuiltins.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/TargetInfo.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/TokenKinds.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Basic/VersionTuple.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/CodeGen/BackendUtil.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/CodeGen/CGFunctionInfo.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/CodeGen/CodeGenAction.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/CodeGen/ModuleBuilder.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/CC1Options.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/CLCompatOptions.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Driver.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Job.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Multilib.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Options.td projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/SanitizerArgs.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/ToolChain.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Driver/Types.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Format/Format.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/ASTUnit.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.def projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CodeGenOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CommandLineSourceLoc.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInstance.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/CompilerInvocation.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/DependencyOutputOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/DiagnosticRenderer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/FrontendActions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/FrontendOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/MultiplexConsumer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/PreprocessorOutputOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnostic.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/TextDiagnosticPrinter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/Utils.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Frontend/VerifyDiagnosticConsumer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Index/USRGeneration.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/ExternalPreprocessorSource.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/HeaderMap.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/HeaderSearch.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Lexer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/LiteralSupport.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/MacroArgs.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/MacroInfo.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/ModuleLoader.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/ModuleMap.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PPCallbacks.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PPConditionalDirectiveRecord.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PTHLexer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PTHManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Pragma.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PreprocessingRecord.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Preprocessor.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/PreprocessorLexer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/Token.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Lex/TokenLexer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Parse/Parser.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Core/DeltaTree.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Core/RewriteRope.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Core/Rewriter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Core/TokenRewriter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/FixItRewriter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Rewrite/Frontend/FrontendActions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/AttributeList.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/CodeCompleteConsumer.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/DeclSpec.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/DelayedDiagnostic.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/ExternalSemaSource.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Initialization.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Lookup.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Overload.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Ownership.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Scope.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/ScopeInfo.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Sema.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/SemaInternal.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/Template.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/TemplateDeduction.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Sema/TypoCorrection.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTBitCodes.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTDeserializationListener.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTReader.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ASTWriter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ContinuousRangeMap.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/GlobalModuleIndex.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/Module.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Serialization/ModuleManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/Checker.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/CheckerManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Tooling/CompilationDatabase.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/Tooling/Tooling.h projects/clang-trunk/contrib/llvm/tools/clang/include/clang/module.modulemap projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/ARCMT.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/ObjCMT.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/PlistReporter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/TransAPIUses.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/TransRetainReleaseDealloc.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/TransUnusedInitDelegate.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ARCMigrate/Transforms.h projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTContext.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTDumper.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ASTImporter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/AttrImpl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/CXXABI.h projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/CXXInheritance.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/CommentLexer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Decl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclBase.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclGroup.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclObjC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/DeclTemplate.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Expr.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ExprCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ExprClassification.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ExprConstant.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ExternalASTSource.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/InheritViz.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ItaniumCXXABI.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/ItaniumMangle.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/MicrosoftCXXABI.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/MicrosoftMangle.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/NSAPI.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/RecordLayoutBuilder.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Stmt.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/StmtPrinter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/StmtProfile.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/Type.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/TypePrinter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/AST/VTableBuilder.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Diagnostics.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h projects/clang-trunk/contrib/llvm/tools/clang/lib/ASTMatchers/Dynamic/Registry.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/AnalysisDeclContext.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/CFG.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/Consumed.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/FormatString.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/LiveVariables.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/ThreadSafety.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyCommon.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/ThreadSafetyTIL.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Analysis/UninitializedValues.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Diagnostic.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/DiagnosticIDs.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/FileManager.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/IdentifierTable.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/LangOptions.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Module.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/OpenMPKinds.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/SanitizerBlacklist.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Sanitizers.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/SourceManager.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/TargetInfo.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Targets.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/Version.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/VersionTuple.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Basic/VirtualFileSystem.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/ABIInfo.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/BackendUtil.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGAtomic.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGBlocks.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGBuilder.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGBuiltin.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCUDANV.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCUDARuntime.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCXXABI.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCall.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGClass.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGCleanup.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDebugInfo.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDecl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGDeclCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGException.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExpr.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprAgg.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprComplex.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprConstant.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGExprScalar.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGLoopInfo.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjCGNU.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjCMac.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGObjCRuntime.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGOpenMPRuntime.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayout.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGRecordLayoutBuilder.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGStmt.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGStmtOpenMP.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGVTT.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGVTables.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CGValue.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenAction.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenFunction.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenModule.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenPGO.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CodeGenTypes.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/CoverageMappingGen.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/EHScopeStack.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/ItaniumCXXABI.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/MicrosoftCXXABI.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/ModuleBuilder.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/SanitizerMetadata.h projects/clang-trunk/contrib/llvm/tools/clang/lib/CodeGen/TargetInfo.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/CrossWindowsToolChain.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Driver.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Job.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/MSVCToolChain.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Multilib.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/SanitizerArgs.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/ToolChain.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/ToolChains.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/ToolChains.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Tools.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Tools.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Driver/Types.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Edit/EditedSource.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/BreakableToken.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/ContinuationIndenter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/Format.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/FormatToken.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/FormatToken.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/TokenAnnotator.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/UnwrappedLineFormatter.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/UnwrappedLineParser.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Format/WhitespaceManager.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/ASTConsumers.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/ASTMerge.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/ASTUnit.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/CacheTokens.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/ChainedIncludesSource.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/CompilerInstance.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/CompilerInvocation.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/DependencyFile.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/FrontendAction.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/FrontendActions.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/FrontendOptions.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/HeaderIncludeGen.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/InitHeaderSearch.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/InitPreprocessor.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/ModuleDependencyCollector.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/MultiplexConsumer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/PrintPreprocessedOutput.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/Rewrite/InclusionRewriter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/SerializedDiagnosticPrinter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/TextDiagnostic.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Frontend/VerifyDiagnosticConsumer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/Intrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/__stddef_max_align_t.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/altivec.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/arm_acle.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx2intrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512bwintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512erintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512fintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512vlbwintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avx512vlintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/avxintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/emmintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/immintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/module.modulemap projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/stdatomic.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/unwind.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Headers/xmmintrin.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Index/SimpleFormatContext.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Index/USRGeneration.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/HeaderSearch.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/Lexer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/LiteralSupport.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/MacroArgs.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/MacroInfo.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/ModuleMap.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PPConditionalDirectiveRecord.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PPDirectives.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PPExpressions.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PPLexerChange.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PPMacroExpansion.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/Pragma.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/PreprocessingRecord.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/Preprocessor.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/ScratchBuffer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Lex/TokenLexer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseCXXInlineMethods.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseDecl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseDeclCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseExpr.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseExprCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseInit.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseObjc.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseOpenMP.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParsePragma.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseStmt.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseStmtAsm.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/ParseTemplate.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/Parser.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Parse/RAIIObjectsForParser.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Rewrite/RewriteRope.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Rewrite/Rewriter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/AnalysisBasedWarnings.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/CodeCompleteConsumer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/DeclSpec.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/DelayedDiagnostic.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/IdentifierResolver.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/JumpDiagnostics.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/Scope.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/ScopeInfo.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/Sema.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaAccess.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaAttr.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaCUDA.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaCXXScopeSpec.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaCast.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaChecking.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaCodeComplete.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDecl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclAttr.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaDeclObjC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExceptionSpec.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExpr.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExprCXX.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExprMember.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaExprObjC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaFixItUtils.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaInit.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaLambda.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaLookup.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaObjCProperty.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaOpenMP.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaOverload.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaPseudoObject.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaStmt.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaStmtAsm.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaTemplate.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaTemplateDeduction.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiate.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaTemplateVariadic.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/SemaType.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Sema/TreeTransform.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTCommon.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReader.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReaderDecl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTReaderStmt.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTWriter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTWriterDecl.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ASTWriterStmt.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/GlobalModuleIndex.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/Module.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Serialization/ModuleManager.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CStringChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/Checkers.td projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/InterCheckerAPI.h projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/MallocOverflowSecurityChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/AnalyzerOptions.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/Checker.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/ExprEngineC.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/MemRegion.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PathDiagnostic.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/PlistDiagnostics.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/RegionStore.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleConstraintManager.h projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/StaticAnalyzer/Frontend/ModelInjector.h projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/CommonOptionsParser.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/CompilationDatabase.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/Core/Replacement.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/FileMatchTrie.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/JSONCompilationDatabase.cpp projects/clang-trunk/contrib/llvm/tools/clang/lib/Tooling/Tooling.cpp projects/clang-trunk/contrib/llvm/tools/clang/tools/driver/cc1as_main.cpp projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/ClangAttrEmitter.cpp projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/ClangDiagnosticsEmitter.cpp projects/clang-trunk/contrib/llvm/tools/clang/utils/TableGen/NeonEmitter.cpp Directory Properties: projects/clang-trunk/contrib/llvm/tools/clang/ (props changed) Modified: projects/clang-trunk/contrib/llvm/tools/clang/LICENSE.TXT ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/LICENSE.TXT Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/LICENSE.TXT Wed May 27 20:44:45 2015 (r283633) @@ -4,7 +4,7 @@ LLVM Release License University of Illinois/NCSA Open Source License -Copyright (c) 2007-2014 University of Illinois at Urbana-Champaign. +Copyright (c) 2007-2015 University of Illinois at Urbana-Champaign. All rights reserved. Developed by: Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang-c/Index.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang-c/Index.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang-c/Index.h Wed May 27 20:44:45 2015 (r283633) @@ -32,7 +32,7 @@ * compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable. */ #define CINDEX_VERSION_MAJOR 0 -#define CINDEX_VERSION_MINOR 29 +#define CINDEX_VERSION_MINOR 30 #define CINDEX_VERSION_ENCODE(major, minor) ( \ ((major) * 10000) \ @@ -2276,7 +2276,12 @@ enum CXCursorKind { */ CXCursor_ModuleImportDecl = 600, CXCursor_FirstExtraDecl = CXCursor_ModuleImportDecl, - CXCursor_LastExtraDecl = CXCursor_ModuleImportDecl + CXCursor_LastExtraDecl = CXCursor_ModuleImportDecl, + + /** + * \brief A code completion overload candidate. + */ + CXCursor_OverloadCandidate = 700 }; /** @@ -2849,7 +2854,7 @@ enum CXCallingConv { CXCallingConv_X86Pascal = 5, CXCallingConv_AAPCS = 6, CXCallingConv_AAPCS_VFP = 7, - CXCallingConv_PnaclCall = 8, + /* Value 8 was PnaclCall, but it was never used, so it could safely be re-used. */ CXCallingConv_IntelOclBicc = 9, CXCallingConv_X86_64Win64 = 10, CXCallingConv_X86_64SysV = 11, @@ -3276,6 +3281,28 @@ CINDEX_LINKAGE long long clang_Type_getS */ CINDEX_LINKAGE long long clang_Type_getOffsetOf(CXType T, const char *S); +/** + * \brief Return the offset of the field represented by the Cursor. + * + * If the cursor is not a field declaration, -1 is returned. + * If the cursor semantic parent is not a record field declaration, + * CXTypeLayoutError_Invalid is returned. + * If the field's type declaration is an incomplete type, + * CXTypeLayoutError_Incomplete is returned. + * If the field's type declaration is a dependent type, + * CXTypeLayoutError_Dependent is returned. + * If the field's name S is not found, + * CXTypeLayoutError_InvalidFieldName is returned. + */ +CINDEX_LINKAGE long long clang_Cursor_getOffsetOfField(CXCursor C); + +/** + * \brief Determine whether the given cursor represents an anonymous record + * declaration. + */ +CINDEX_LINKAGE unsigned clang_Cursor_isAnonymous(CXCursor C); + + enum CXRefQualifierKind { /** \brief No ref-qualifier was provided. */ CXRefQualifier_None = 0, @@ -5664,15 +5691,50 @@ CINDEX_LINKAGE CXSourceLocation clang_indexLoc_getCXSourceLocation(CXIdxLoc loc); /** - * @} + * \brief Visitor invoked for each field found by a traversal. + * + * This visitor function will be invoked for each field found by + * \c clang_Type_visitFields. Its first argument is the cursor being + * visited, its second argument is the client data provided to + * \c clang_Type_visitFields. + * + * The visitor should return one of the \c CXVisitorResult values + * to direct \c clang_Type_visitFields. */ +typedef enum CXVisitorResult (*CXFieldVisitor)(CXCursor C, + CXClientData client_data); + +/** + * \brief Visit the fields of a particular type. + * + * This function visits all the direct fields of the given cursor, + * invoking the given \p visitor function with the cursors of each + * visited field. The traversal may be ended prematurely, if + * the visitor returns \c CXFieldVisit_Break. + * + * \param T the record type whose field may be visited. + * + * \param visitor the visitor function that will be invoked for each + * field of \p T. + * + * \param client_data pointer data supplied by the client, which will + * be passed to the visitor each time it is invoked. + * + * \returns a non-zero value if the traversal was terminated + * prematurely by the visitor returning \c CXFieldVisit_Break. + */ +CINDEX_LINKAGE unsigned clang_Type_visitFields(CXType T, + CXFieldVisitor visitor, + CXClientData client_data); + /** * @} */ -/* Include the comment API for compatibility. This will eventually go away. */ -#include "clang-c/Documentation.h" +/** + * @} + */ #ifdef __cplusplus } Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTConsumer.h Wed May 27 20:44:45 2015 (r283633) @@ -129,11 +129,7 @@ public: /// required. /// /// \param RD The class whose vtable was used. - /// - /// \param DefinitionRequired Whether a definition of this vtable is - /// required in this translation unit; otherwise, it is only needed if - /// it was actually used. - virtual void HandleVTable(CXXRecordDecl *RD, bool DefinitionRequired) {} + virtual void HandleVTable(CXXRecordDecl *RD) {} /// \brief If the consumer is interested in entities getting modified after /// their initial creation, it should return a pointer to Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTContext.h Wed May 27 20:44:45 2015 (r283633) @@ -284,6 +284,11 @@ class ASTContext : public RefCountedBase /// merged into. llvm::DenseMap MergedDecls; + /// \brief A mapping from a defining declaration to a list of modules (other + /// than the owning module of the declaration) that contain merged + /// definitions of that entity. + llvm::DenseMap> MergedDefModules; + public: /// \brief A type synonym for the TemplateOrInstantiation mapping. typedef llvm::PointerUnion @@ -383,6 +388,7 @@ private: ImportDecl *LastLocalImport; TranslationUnitDecl *TUDecl; + mutable ExternCContextDecl *ExternCContext; /// \brief The associated SourceManager object.a SourceManager &SourceMgr; @@ -780,8 +786,26 @@ public: MergedDecls[D] = Primary; } + /// \brief Note that the definition \p ND has been merged into module \p M, + /// and should be visible whenever \p M is visible. + void mergeDefinitionIntoModule(NamedDecl *ND, Module *M, + bool NotifyListeners = true); + /// \brief Clean up the merged definition list. Call this if you might have + /// added duplicates into the list. + void deduplicateMergedDefinitonsFor(NamedDecl *ND); + + /// \brief Get the additional modules in which the definition \p Def has + /// been merged. + ArrayRef getModulesWithMergedDefinition(NamedDecl *Def) { + auto MergedIt = MergedDefModules.find(Def); + if (MergedIt == MergedDefModules.end()) + return None; + return MergedIt->second; + } + TranslationUnitDecl *getTranslationUnitDecl() const { return TUDecl; } + ExternCContextDecl *getExternCContextDecl() const; // Builtin Types. CanQualType VoidTy; @@ -1689,6 +1713,10 @@ public: /// beneficial for performance to overalign a data type. unsigned getPreferredTypeAlign(const Type *T) const; + /// \brief Return the default alignment for __attribute__((aligned)) on + /// this target, to be used if no alignment value is specified. + unsigned getTargetDefaultAlignForAttributeAligned(void) const; + /// \brief Return the alignment in bits that should be given to a /// global variable with type \p T. unsigned getAlignOfGlobalVar(QualType T) const; @@ -1936,6 +1964,8 @@ public: /// cv-qualifiers. QualType getSignatureParameterType(QualType T) const; + QualType getExceptionObjectType(QualType T) const; + /// \brief Return the properly qualified result of decaying the specified /// array type to a pointer. /// @@ -2191,6 +2221,18 @@ public: /// it is not used. bool DeclMustBeEmitted(const Decl *D); + const CXXConstructorDecl * + getCopyConstructorForExceptionObject(CXXRecordDecl *RD); + + void addCopyConstructorForExceptionObject(CXXRecordDecl *RD, + CXXConstructorDecl *CD); + + void addDefaultArgExprForConstructor(const CXXConstructorDecl *CD, + unsigned ParmIdx, Expr *DAE); + + Expr *getDefaultArgExprForConstructor(const CXXConstructorDecl *CD, + unsigned ParmIdx); + void setManglingNumber(const NamedDecl *ND, unsigned Number); unsigned getManglingNumber(const NamedDecl *ND) const; @@ -2263,8 +2305,8 @@ public: static unsigned NumImplicitDestructorsDeclared; private: - ASTContext(const ASTContext &) LLVM_DELETED_FUNCTION; - void operator=(const ASTContext &) LLVM_DELETED_FUNCTION; + ASTContext(const ASTContext &) = delete; + void operator=(const ASTContext &) = delete; public: /// \brief Initialize built-in types. Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTImporter.h Wed May 27 20:44:45 2015 (r283633) @@ -121,6 +121,11 @@ namespace clang { /// if an error occurred. Decl *Import(Decl *FromD); + /// \brief Return the copy of the given declaration in the "to" context if + /// it has already been imported from the "from" context. Otherwise return + /// NULL. + Decl *GetAlreadyImportedOrNull(Decl *FromD); + /// \brief Import the given declaration context from the "from" /// AST context into the "to" AST context. /// Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTMutationListener.h Wed May 27 20:44:45 2015 (r283633) @@ -13,16 +13,17 @@ #ifndef LLVM_CLANG_AST_ASTMUTATIONLISTENER_H #define LLVM_CLANG_AST_ASTMUTATIONLISTENER_H -#include "clang/Basic/SourceLocation.h" - namespace clang { - class CXXRecordDecl; class ClassTemplateDecl; class ClassTemplateSpecializationDecl; + class CXXDestructorDecl; + class CXXRecordDecl; class Decl; class DeclContext; class FunctionDecl; class FunctionTemplateDecl; + class Module; + class NamedDecl; class ObjCCategoryDecl; class ObjCContainerDecl; class ObjCInterfaceDecl; @@ -72,6 +73,10 @@ public: /// \brief A function's return type has been deduced. virtual void DeducedReturnType(const FunctionDecl *FD, QualType ReturnType); + /// \brief A virtual destructor's operator delete has been resolved. + virtual void ResolvedOperatorDelete(const CXXDestructorDecl *DD, + const FunctionDecl *Delete) {} + /// \brief An implicit member got a definition. virtual void CompletedImplicitDefinition(const FunctionDecl *D) {} @@ -108,6 +113,13 @@ public: /// \param D the declaration marked OpenMP threadprivate. virtual void DeclarationMarkedOpenMPThreadPrivate(const Decl *D) {} + /// \brief A definition has been made visible by being redefined locally. + /// + /// \param D The definition that was previously not visible. + /// \param M The containing module in which the definition was made visible, + /// if any. + virtual void RedefinedHiddenDefinition(const NamedDecl *D, Module *M) {} + // NOTE: If new methods are added they should also be added to // MultiplexASTMutationListener. }; Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/ASTUnresolvedSet.h Wed May 27 20:44:45 2015 (r283633) @@ -76,7 +76,7 @@ public: } void append(ASTContext &C, iterator I, iterator E) { - Decls.append(C, I.ir, E.ir); + Decls.append(C, I.I, E.I); } DeclAccessPair &operator[](unsigned I) { return Decls[I]; } Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Attr.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Attr.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Attr.h Wed May 27 20:44:45 2015 (r283633) @@ -20,6 +20,7 @@ #include "clang/AST/Type.h" #include "clang/Basic/AttrKinds.h" #include "clang/Basic/LLVM.h" +#include "clang/Basic/Sanitizers.h" #include "clang/Basic/SourceLocation.h" #include "clang/Basic/VersionTuple.h" #include "llvm/ADT/SmallVector.h" @@ -52,8 +53,8 @@ protected: bool Inherited : 1; bool IsPackExpansion : 1; bool Implicit : 1; - - virtual ~Attr(); + bool IsLateParsed : 1; + bool DuplicatesAllowed : 1; void* operator new(size_t bytes) throw() { llvm_unreachable("Attrs cannot be allocated with regular 'new'."); @@ -65,7 +66,7 @@ protected: 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 = 16) throw() { + size_t Alignment = 8) throw() { return ::operator new(Bytes, C, Alignment); } void operator delete(void *Ptr, ASTContext &C, @@ -74,9 +75,11 @@ public: } protected: - Attr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex = 0) + Attr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, + bool IsLateParsed, bool DuplicatesAllowed) : Range(R), AttrKind(AK), SpellingListIndex(SpellingListIndex), - Inherited(false), IsPackExpansion(false), Implicit(false) {} + Inherited(false), IsPackExpansion(false), Implicit(false), + IsLateParsed(IsLateParsed), DuplicatesAllowed(DuplicatesAllowed) {} public: @@ -85,7 +88,7 @@ public: } unsigned getSpellingListIndex() const { return SpellingListIndex; } - virtual const char *getSpelling() const = 0; + const char *getSpelling() const; SourceLocation getLocation() const { return Range.getBegin(); } SourceRange getRange() const { return Range; } @@ -102,25 +105,24 @@ public: bool isPackExpansion() const { return IsPackExpansion; } // Clone this attribute. - virtual Attr *clone(ASTContext &C) const = 0; + Attr *clone(ASTContext &C) const; - virtual bool isLateParsed() const { return false; } + bool isLateParsed() const { return IsLateParsed; } // Pretty print this attribute. - virtual void printPretty(raw_ostream &OS, - const PrintingPolicy &Policy) const = 0; + void printPretty(raw_ostream &OS, const PrintingPolicy &Policy) const; /// \brief By default, attributes cannot be duplicated when being merged; /// however, an attribute can override this. Returns true if the attribute /// can be duplicated when merging. - virtual bool duplicatesAllowed() const { return false; } + bool duplicatesAllowed() const { return DuplicatesAllowed; } }; class InheritableAttr : public Attr { - virtual void anchor(); protected: - InheritableAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex = 0) - : Attr(AK, R, SpellingListIndex) {} + InheritableAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, + bool IsLateParsed, bool DuplicatesAllowed) + : Attr(AK, R, SpellingListIndex, IsLateParsed, DuplicatesAllowed) {} public: void setInherited(bool I) { Inherited = I; } @@ -132,11 +134,11 @@ public: }; class InheritableParamAttr : public InheritableAttr { - void anchor() override; protected: - InheritableParamAttr(attr::Kind AK, SourceRange R, - unsigned SpellingListIndex = 0) - : InheritableAttr(AK, R, SpellingListIndex) {} + InheritableParamAttr(attr::Kind AK, SourceRange R, unsigned SpellingListIndex, + bool IsLateParsed, bool DuplicatesAllowed) + : InheritableAttr(AK, R, SpellingListIndex, IsLateParsed, + DuplicatesAllowed) {} public: // Implement isa/cast/dyncast/etc. Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/AttrIterator.h Wed May 27 20:44:45 2015 (r283633) @@ -24,7 +24,7 @@ namespace clang { // Defined in ASTContext.h void *operator new(size_t Bytes, const clang::ASTContext &C, - size_t Alignment = 16); + size_t Alignment = 8); // FIXME: Being forced to not have a default argument here due to redeclaration // rules on default arguments sucks void *operator new[](size_t Bytes, const clang::ASTContext &C, Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CXXInheritance.h Wed May 27 20:44:45 2015 (r283633) @@ -333,12 +333,12 @@ public: /// struct D : B, C { }; /// \endcode /// -/// This data structure contaings a mapping from every virtual +/// This data structure contains a mapping from every virtual /// function *that does not override an existing virtual function* and /// in every subobject where that virtual function occurs to the set /// of virtual functions that override it. Thus, the same virtual /// function \c A::f can actually occur in multiple subobjects of type -/// \c A due to multiple inheritance, and may be overriden by +/// \c A due to multiple inheritance, and may be overridden by /// different virtual functions in each, as in the following example: /// /// \code @@ -354,7 +354,7 @@ public: /// \c A::f but in *different* subobjects of type A. This is /// represented by numbering the subobjects in which the overridden /// and the overriding virtual member functions are located. Subobject -/// 0 represents the virtua base class subobject of that type, while +/// 0 represents the virtual base class subobject of that type, while /// subobject numbers greater than 0 refer to non-virtual base class /// subobjects of that type. class CXXFinalOverriderMap Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CanonicalType.h Wed May 27 20:44:45 2015 (r283633) @@ -16,8 +16,8 @@ #define LLVM_CLANG_AST_CANONICALTYPE_H #include "clang/AST/Type.h" +#include "llvm/ADT/iterator.h" #include "llvm/Support/Casting.h" -#include namespace clang { @@ -80,7 +80,7 @@ public: operator QualType() const { return Stored; } /// \brief Implicit conversion to bool. - LLVM_EXPLICIT operator bool() const { return !isNull(); } + explicit operator bool() const { return !isNull(); } bool isNull() const { return Stored.isNull(); @@ -381,93 +381,20 @@ namespace clang { /// \brief Iterator adaptor that turns an iterator over canonical QualTypes /// into an iterator over CanQualTypes. -template -class CanTypeIterator { - InputIterator Iter; +template +struct CanTypeIterator + : llvm::iterator_adaptor_base< + CanTypeIterator, InputIterator, + typename std::iterator_traits::iterator_category, + CanQualType, + typename std::iterator_traits::difference_type, + CanProxy, CanQualType> { + CanTypeIterator() {} + explicit CanTypeIterator(InputIterator Iter) + : CanTypeIterator::iterator_adaptor_base(std::move(Iter)) {} -public: - typedef CanQualType value_type; - typedef value_type reference; - typedef CanProxy pointer; - typedef typename std::iterator_traits::difference_type - difference_type; - typedef typename std::iterator_traits::iterator_category - iterator_category; - - CanTypeIterator() : Iter() { } - explicit CanTypeIterator(InputIterator Iter) : Iter(Iter) { } - - // Input iterator - reference operator*() const { - return CanQualType::CreateUnsafe(*Iter); - } - - pointer operator->() const; - - CanTypeIterator &operator++() { - ++Iter; - return *this; - } - - CanTypeIterator operator++(int) { - CanTypeIterator Tmp(*this); - ++Iter; - return Tmp; - } - - friend bool operator==(const CanTypeIterator& X, const CanTypeIterator &Y) { - return X.Iter == Y.Iter; - } - friend bool operator!=(const CanTypeIterator& X, const CanTypeIterator &Y) { - return X.Iter != Y.Iter; - } - - // Bidirectional iterator - CanTypeIterator &operator--() { - --Iter; - return *this; - } - - CanTypeIterator operator--(int) { - CanTypeIterator Tmp(*this); - --Iter; - return Tmp; - } - - // Random access iterator - reference operator[](difference_type n) const { - return CanQualType::CreateUnsafe(Iter[n]); - } - - CanTypeIterator &operator+=(difference_type n) { - Iter += n; - return *this; - } - - CanTypeIterator &operator-=(difference_type n) { - Iter -= n; - return *this; - } - - friend CanTypeIterator operator+(CanTypeIterator X, difference_type n) { - X += n; - return X; - } - - friend CanTypeIterator operator+(difference_type n, CanTypeIterator X) { - X += n; - return X; - } - - friend CanTypeIterator operator-(CanTypeIterator X, difference_type n) { - X -= n; - return X; - } - - friend difference_type operator-(const CanTypeIterator &X, - const CanTypeIterator &Y) { - return X - Y; - } + CanQualType operator*() const { return CanQualType::CreateUnsafe(*this->I); } + CanProxy operator->() const; }; template<> @@ -727,9 +654,8 @@ CanProxy CanQual::operator->() con return CanProxy(*this); } -template -typename CanTypeIterator::pointer -CanTypeIterator::operator->() const { +template +CanProxy CanTypeIterator::operator->() const { return CanProxy(*this); } Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentCommandTraits.h Wed May 27 20:44:45 2015 (r283633) @@ -166,8 +166,8 @@ public: static const CommandInfo *getBuiltinCommandInfo(unsigned CommandID); private: - CommandTraits(const CommandTraits &) LLVM_DELETED_FUNCTION; - void operator=(const CommandTraits &) LLVM_DELETED_FUNCTION; + CommandTraits(const CommandTraits &) = delete; + void operator=(const CommandTraits &) = delete; const CommandInfo *getRegisteredCommandInfo(StringRef Name) const; const CommandInfo *getRegisteredCommandInfo(unsigned CommandID) const; Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentLexer.h Wed May 27 20:44:45 2015 (r283633) @@ -221,8 +221,8 @@ public: /// \brief Comment lexer. class Lexer { private: - Lexer(const Lexer &) LLVM_DELETED_FUNCTION; - void operator=(const Lexer &) LLVM_DELETED_FUNCTION; + Lexer(const Lexer &) = delete; + void operator=(const Lexer &) = delete; /// Allocator for strings that are semantic values of tokens and have to be /// computed (for example, resolved decimal character references). Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentParser.h Wed May 27 20:44:45 2015 (r283633) @@ -28,8 +28,8 @@ class CommandTraits; /// Doxygen comment parser. class Parser { - Parser(const Parser &) LLVM_DELETED_FUNCTION; - void operator=(const Parser &) LLVM_DELETED_FUNCTION; + Parser(const Parser &) = delete; + void operator=(const Parser &) = delete; friend class TextTokenRetokenizer; Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/CommentSema.h Wed May 27 20:44:45 2015 (r283633) @@ -31,8 +31,8 @@ namespace comments { class CommandTraits; class Sema { - Sema(const Sema &) LLVM_DELETED_FUNCTION; - void operator=(const Sema &) LLVM_DELETED_FUNCTION; + Sema(const Sema &) = delete; + void operator=(const Sema &) = delete; /// Allocator for AST nodes. llvm::BumpPtrAllocator &Allocator; Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/DataRecursiveASTVisitor.h Wed May 27 20:44:45 2015 (r283633) @@ -791,7 +791,7 @@ template bool RecursiveASTVisitor::TraverseLambdaCapture(LambdaExpr *LE, const LambdaCapture *C) { - if (C->isInitCapture()) + if (LE->isInitCapture(C)) TRY_TO(TraverseDecl(C->getCapturedVar())); return true; } @@ -1284,6 +1284,8 @@ DEF_TRAVERSE_DECL( // D->getAnonymousNamespace(). }) +DEF_TRAVERSE_DECL(ExternCContextDecl, {}) + DEF_TRAVERSE_DECL(NamespaceAliasDecl, { // We shouldn't traverse an aliased namespace, since it will be // defined (and, therefore, traversed) somewhere else. @@ -2433,6 +2435,7 @@ template bool RecursiveASTVisitor::VisitOMPScheduleClause(OMPScheduleClause *C) { TRY_TO(TraverseStmt(C->getChunkSize())); + TRY_TO(TraverseStmt(C->getHelperChunkSize())); return true; } @@ -2517,6 +2520,18 @@ template bool RecursiveASTVisitor::VisitOMPLastprivateClause( OMPLastprivateClause *C) { TRY_TO(VisitOMPClauseList(C)); + for (auto *E : C->private_copies()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->source_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->destination_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->assignment_ops()) { + TRY_TO(TraverseStmt(E)); + } return true; } @@ -2529,7 +2544,17 @@ bool RecursiveASTVisitor::Visit template bool RecursiveASTVisitor::VisitOMPLinearClause(OMPLinearClause *C) { TRY_TO(TraverseStmt(C->getStep())); + TRY_TO(TraverseStmt(C->getCalcStep())); TRY_TO(VisitOMPClauseList(C)); + for (auto *E : C->inits()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->updates()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->finals()) { + TRY_TO(TraverseStmt(E)); + } return true; } @@ -2543,6 +2568,15 @@ bool RecursiveASTVisitor::Visit template bool RecursiveASTVisitor::VisitOMPCopyinClause(OMPCopyinClause *C) { TRY_TO(VisitOMPClauseList(C)); + for (auto *E : C->source_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->destination_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->assignment_ops()) { + TRY_TO(TraverseStmt(E)); + } return true; } @@ -2550,6 +2584,15 @@ template bool RecursiveASTVisitor::VisitOMPCopyprivateClause( OMPCopyprivateClause *C) { TRY_TO(VisitOMPClauseList(C)); + for (auto *E : C->source_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->destination_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->assignment_ops()) { + TRY_TO(TraverseStmt(E)); + } return true; } @@ -2559,6 +2602,15 @@ RecursiveASTVisitor::VisitOMPRe TRY_TO(TraverseNestedNameSpecifierLoc(C->getQualifierLoc())); TRY_TO(TraverseDeclarationNameInfo(C->getNameInfo())); TRY_TO(VisitOMPClauseList(C)); + for (auto *E : C->lhs_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->rhs_exprs()) { + TRY_TO(TraverseStmt(E)); + } + for (auto *E : C->reduction_ops()) { + TRY_TO(TraverseStmt(E)); + } return true; } Modified: projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Decl.h ============================================================================== --- projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Decl.h Wed May 27 20:37:34 2015 (r283632) +++ projects/clang-trunk/contrib/llvm/tools/clang/include/clang/AST/Decl.h Wed May 27 20:44:45 2015 (r283633) @@ -39,6 +39,7 @@ class LabelStmt; class MemberSpecializationInfo; class Module; class NestedNameSpecifier; +class ParmVarDecl; class Stmt; class StringLiteral; class TemplateArgumentList; @@ -82,10 +83,7 @@ class TranslationUnitDecl : public Decl, /// translation unit, if one has been created. NamespaceDecl *AnonymousNamespace; - explicit TranslationUnitDecl(ASTContext &ctx) - : Decl(TranslationUnit, nullptr, SourceLocation()), - DeclContext(TranslationUnit), - Ctx(ctx), AnonymousNamespace(nullptr) {} + explicit TranslationUnitDecl(ASTContext &ctx); public: ASTContext &getASTContext() const { return Ctx; } @@ -104,6 +102,43 @@ public: } }; +/// \brief Declaration context for names declared as extern "C" in C++. This +/// is neither the semantic nor lexical context for such declarations, but is +/// used to check for conflicts with other extern "C" declarations. Example: +/// +/// \code +/// namespace N { extern "C" void f(); } // #1 +/// void N::f() {} // #2 +/// namespace M { extern "C" void f(); } // #3 +/// \endcode +/// +/// The semantic context of #1 is namespace N and its lexical context is the +/// LinkageSpecDecl; the semantic context of #2 is namespace N and its lexical +/// context is the TU. However, both declarations are also visible in the +/// extern "C" context. +/// +/// The declaration at #3 finds it is a redeclaration of \c N::f through +/// lookup in the extern "C" context. +class ExternCContextDecl : public Decl, public DeclContext { + virtual void anchor(); + + explicit ExternCContextDecl(TranslationUnitDecl *TU) + : Decl(ExternCContext, TU, SourceLocation()), + DeclContext(ExternCContext) {} +public: + static ExternCContextDecl *Create(const ASTContext &C, + TranslationUnitDecl *TU); + // Implement isa/cast/dyncast/etc. + static bool classof(const Decl *D) { return classofKind(D->getKind()); } + static bool classofKind(Kind K) { return K == ExternCContext; } + static DeclContext *castToDeclContext(const ExternCContextDecl *D) { + return static_cast(const_cast(D)); + } + static ExternCContextDecl *castFromDeclContext(const DeclContext *DC) { + return static_cast(const_cast(DC)); + } +}; + /// NamedDecl - This represents a decl with a name. Many decls have names such /// as ObjCMethodDecl, but not \@class, etc. class NamedDecl : public Decl { @@ -179,14 +214,17 @@ public: const PrintingPolicy &Policy, bool Qualified) const; - /// declarationReplaces - Determine whether this declaration, if + /// \brief Determine whether this declaration, if /// known to be well-formed within its context, will replace the /// declaration OldD if introduced into scope. A declaration will /// replace another declaration if, for example, it is a /// redeclaration of the same variable or function, but not if it is /// a declaration of a different kind (function vs. class) or an /// overloaded function. - bool declarationReplaces(NamedDecl *OldD) const; + /// + /// \param IsKnownNewer \c true if this declaration is known to be newer + /// than \p OldD (for instance, if this declaration is newly-created). + bool declarationReplaces(NamedDecl *OldD, bool IsKnownNewer = true) const; /// \brief Determine whether this declaration has linkage. bool hasLinkage() const; @@ -535,8 +573,8 @@ struct QualifierInfo { private: // Copy constructor and copy assignment are disabled. - QualifierInfo(const QualifierInfo&) LLVM_DELETED_FUNCTION; - QualifierInfo& operator=(const QualifierInfo&) LLVM_DELETED_FUNCTION; + QualifierInfo(const QualifierInfo&) = delete; + QualifierInfo& operator=(const QualifierInfo&) = delete; }; /// \brief Represents a ValueDecl that came out of a declarator. @@ -710,37 +748,8 @@ private: unsigned SClass : 3; unsigned TSCSpec : 2; unsigned InitStyle : 2; - - /// \brief Whether this variable is the exception variable in a C++ catch - /// or an Objective-C @catch statement. - unsigned ExceptionVar : 1; - - /// \brief Whether this local variable could be allocated in the return - /// slot of its function, enabling the named return value optimization - /// (NRVO). - unsigned NRVOVariable : 1; - - /// \brief Whether this variable is the for-range-declaration in a C++0x - /// for-range statement. - unsigned CXXForRangeDecl : 1; - - /// \brief Whether this variable is an ARC pseudo-__strong - /// variable; see isARCPseudoStrong() for details. - unsigned ARCPseudoStrong : 1; - - /// \brief Whether this variable is (C++0x) constexpr. - unsigned IsConstexpr : 1; - - /// \brief Whether this variable is the implicit variable for a lambda - /// init-capture. - unsigned IsInitCapture : 1; - - /// \brief Whether this local extern variable's previous declaration was - /// declared in the same block scope. This controls whether we should merge - /// the type of this declaration with its previous declaration. - unsigned PreviousDeclInSameBlockScope : 1; }; - enum { NumVarDeclBits = 14 }; + enum { NumVarDeclBits = 7 }; friend class ASTDeclReader; friend class StmtIteratorBase; @@ -776,10 +785,47 @@ protected: unsigned ParameterIndex : NumParameterIndexBits; }; + class NonParmVarDeclBitfields { + friend class VarDecl; + friend class ASTDeclReader; + + unsigned : NumVarDeclBits; + + /// \brief Whether this variable is the exception variable in a C++ catch + /// or an Objective-C @catch statement. + unsigned ExceptionVar : 1; + + /// \brief Whether this local variable could be allocated in the return + /// slot of its function, enabling the named return value optimization + /// (NRVO). + unsigned NRVOVariable : 1; + + /// \brief Whether this variable is the for-range-declaration in a C++0x + /// for-range statement. + unsigned CXXForRangeDecl : 1; + + /// \brief Whether this variable is an ARC pseudo-__strong + /// variable; see isARCPseudoStrong() for details. + unsigned ARCPseudoStrong : 1; + + /// \brief Whether this variable is (C++0x) constexpr. + unsigned IsConstexpr : 1; + + /// \brief Whether this variable is the implicit variable for a lambda + /// init-capture. + unsigned IsInitCapture : 1; + + /// \brief Whether this local extern variable's previous declaration was + /// declared in the same block scope. This controls whether we should merge + /// the type of this declaration with its previous declaration. + unsigned PreviousDeclInSameBlockScope : 1; + }; + union { unsigned AllBits; VarDeclBitfields VarDeclBits; ParmVarDeclBitfields ParmVarDeclBits; + NonParmVarDeclBitfields NonParmVarDeclBits; }; VarDecl(Kind DK, ASTContext &C, DeclContext *DC, SourceLocation StartLoc, @@ -840,7 +886,7 @@ public: return !isFileVarDecl() && getTSCSpec() == TSCS_unspecified; // Global Named Register (GNU extension) - if (getStorageClass() == SC_Register && !isLocalVarDecl()) + if (getStorageClass() == SC_Register && !isLocalVarDeclOrParm()) return false; // Return true for: Auto, Register. @@ -1132,9 +1178,12 @@ public: /// \brief Determine whether this variable is the exception variable in a /// C++ catch statememt or an Objective-C \@catch statement. bool isExceptionVariable() const { - return VarDeclBits.ExceptionVar; + return isa(this) ? false : NonParmVarDeclBits.ExceptionVar; + } + void setExceptionVariable(bool EV) { + assert(!isa(this)); + NonParmVarDeclBits.ExceptionVar = EV; } - void setExceptionVariable(bool EV) { VarDeclBits.ExceptionVar = EV; } /// \brief Determine whether this local variable can be used with the named /// return value optimization (NRVO). @@ -1146,36 +1195,64 @@ public: /// return slot when returning from the function. Within the function body, /// each return that returns the NRVO object will have this variable as its /// NRVO candidate. - bool isNRVOVariable() const { return VarDeclBits.NRVOVariable; } - void setNRVOVariable(bool NRVO) { VarDeclBits.NRVOVariable = NRVO; } + bool isNRVOVariable() const { + return isa(this) ? false : NonParmVarDeclBits.NRVOVariable; + } + void setNRVOVariable(bool NRVO) { + assert(!isa(this)); + NonParmVarDeclBits.NRVOVariable = NRVO; + } /// \brief Determine whether this variable is the for-range-declaration in /// a C++0x for-range statement. - bool isCXXForRangeDecl() const { return VarDeclBits.CXXForRangeDecl; } - void setCXXForRangeDecl(bool FRD) { VarDeclBits.CXXForRangeDecl = FRD; } + bool isCXXForRangeDecl() const { + return isa(this) ? false : NonParmVarDeclBits.CXXForRangeDecl; + } + void setCXXForRangeDecl(bool FRD) { + assert(!isa(this)); + NonParmVarDeclBits.CXXForRangeDecl = FRD; + } /// \brief Determine whether this variable is an ARC pseudo-__strong /// variable. A pseudo-__strong variable has a __strong-qualified /// type but does not actually retain the object written into it. /// Generally such variables are also 'const' for safety. - bool isARCPseudoStrong() const { return VarDeclBits.ARCPseudoStrong; } - void setARCPseudoStrong(bool ps) { VarDeclBits.ARCPseudoStrong = ps; } + bool isARCPseudoStrong() const { *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***