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...
Dimitry Andric
dim at FreeBSD.org
Wed May 27 20:44:51 UTC 2015
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<Decl*, Decl*> 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<NamedDecl*, llvm::TinyPtrVector<Module*>> MergedDefModules;
+
public:
/// \brief A type synonym for the TemplateOrInstantiation mapping.
typedef llvm::PointerUnion<VarTemplateDecl *, MemberSpecializationInfo *>
@@ -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<Module*> 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 <iterator>
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<typename InputIterator>
-class CanTypeIterator {
- InputIterator Iter;
+template <typename InputIterator>
+struct CanTypeIterator
+ : llvm::iterator_adaptor_base<
+ CanTypeIterator<InputIterator>, InputIterator,
+ typename std::iterator_traits<InputIterator>::iterator_category,
+ CanQualType,
+ typename std::iterator_traits<InputIterator>::difference_type,
+ CanProxy<Type>, CanQualType> {
+ CanTypeIterator() {}
+ explicit CanTypeIterator(InputIterator Iter)
+ : CanTypeIterator::iterator_adaptor_base(std::move(Iter)) {}
-public:
- typedef CanQualType value_type;
- typedef value_type reference;
- typedef CanProxy<Type> pointer;
- typedef typename std::iterator_traits<InputIterator>::difference_type
- difference_type;
- typedef typename std::iterator_traits<InputIterator>::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<Type> operator->() const;
};
template<>
@@ -727,9 +654,8 @@ CanProxy<T> CanQual<T>::operator->() con
return CanProxy<T>(*this);
}
-template<typename InputIterator>
-typename CanTypeIterator<InputIterator>::pointer
-CanTypeIterator<InputIterator>::operator->() const {
+template <typename InputIterator>
+CanProxy<Type> CanTypeIterator<InputIterator>::operator->() const {
return CanProxy<Type>(*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 <typename Derived>
bool
RecursiveASTVisitor<Derived>::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 <typename Derived>
bool
RecursiveASTVisitor<Derived>::VisitOMPScheduleClause(OMPScheduleClause *C) {
TRY_TO(TraverseStmt(C->getChunkSize()));
+ TRY_TO(TraverseStmt(C->getHelperChunkSize()));
return true;
}
@@ -2517,6 +2520,18 @@ template <typename Derived>
bool RecursiveASTVisitor<Derived>::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<Derived>::Visit
template <typename Derived>
bool RecursiveASTVisitor<Derived>::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<Derived>::Visit
template <typename Derived>
bool RecursiveASTVisitor<Derived>::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 <typename Derived>
bool RecursiveASTVisitor<Derived>::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<Derived>::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<DeclContext *>(const_cast<ExternCContextDecl*>(D));
+ }
+ static ExternCContextDecl *castFromDeclContext(const DeclContext *DC) {
+ return static_cast<ExternCContextDecl *>(const_cast<DeclContext*>(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<ParmVarDecl>(this) ? false : NonParmVarDeclBits.ExceptionVar;
+ }
+ void setExceptionVariable(bool EV) {
+ assert(!isa<ParmVarDecl>(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<ParmVarDecl>(this) ? false : NonParmVarDeclBits.NRVOVariable;
+ }
+ void setNRVOVariable(bool NRVO) {
+ assert(!isa<ParmVarDecl>(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<ParmVarDecl>(this) ? false : NonParmVarDeclBits.CXXForRangeDecl;
+ }
+ void setCXXForRangeDecl(bool FRD) {
+ assert(!isa<ParmVarDecl>(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 ***
More information about the svn-src-projects
mailing list