svn commit: r285165 - in vendor/clang/dist: docs docs/CommandGuide docs/tools examples/analyzer-plugin include/clang-c include/clang/AST include/clang/ASTMatchers include/clang/Analysis/Analyses in...

Dimitry Andric dim at FreeBSD.org
Sun Jul 5 14:24:01 UTC 2015


Author: dim
Date: Sun Jul  5 14:23:59 2015
New Revision: 285165
URL: https://svnweb.freebsd.org/changeset/base/285165

Log:
  Vendor import of clang trunk r241361:
  https://llvm.org/svn/llvm-project/cfe/trunk@241361

Added:
  vendor/clang/dist/docs/CommandGuide/
  vendor/clang/dist/docs/CommandGuide/clang.rst
  vendor/clang/dist/docs/CommandGuide/index.rst
  vendor/clang/dist/lib/Driver/MinGWToolChain.cpp   (contents, props changed)
  vendor/clang/dist/lib/Headers/avx512cdintrin.h   (contents, props changed)
  vendor/clang/dist/lib/Headers/fxsrintrin.h   (contents, props changed)
  vendor/clang/dist/lib/Headers/inttypes.h   (contents, props changed)
  vendor/clang/dist/test/Analysis/division-by-zero.c   (contents, props changed)
  vendor/clang/dist/test/Analysis/test-include-cpp.cpp   (contents, props changed)
  vendor/clang/dist/test/Analysis/test-include-cpp.h   (contents, props changed)
  vendor/clang/dist/test/Analysis/test-include.c   (contents, props changed)
  vendor/clang/dist/test/Analysis/test-include.h   (contents, props changed)
  vendor/clang/dist/test/CodeCompletion/macros-in-modules.c   (contents, props changed)
  vendor/clang/dist/test/CodeCompletion/macros-in-modules.m
  vendor/clang/dist/test/CodeGen/avx512cdintrin.c   (contents, props changed)
  vendor/clang/dist/test/CodeGen/builtin-cpu-supports.c   (contents, props changed)
  vendor/clang/dist/test/CodeGen/debug-info-packed-struct.c   (contents, props changed)
  vendor/clang/dist/test/CodeGen/openmp_default_simd_align.c   (contents, props changed)
  vendor/clang/dist/test/CodeGenCXX/debug-info-method-nodebug.cpp   (contents, props changed)
  vendor/clang/dist/test/CodeGenCXX/destructor-crash.cpp   (contents, props changed)
  vendor/clang/dist/test/CodeGenCXX/trap-fnattr.cpp   (contents, props changed)
  vendor/clang/dist/test/CoverageMapping/implicit-def-in-macro.m
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/powerpc64le-linux-gnu/
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/lib/powerpc64le-linux-gnu/.keep
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc64le-linux-gnu/
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc64le-linux-gnu/4.5/
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/gcc/powerpc64le-linux-gnu/4.5/crtbegin.o   (contents, props changed)
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/powerpc64le-linux-gnu/
  vendor/clang/dist/test/Driver/Inputs/debian_multiarch_tree/usr/lib/powerpc64le-linux-gnu/.keep
  vendor/clang/dist/test/Driver/ios-version-min.c   (contents, props changed)
  vendor/clang/dist/test/Driver/msan.c   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/DebugModule.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/ImportNameInDir.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/NameInDir.framework/
  vendor/clang/dist/test/Modules/Inputs/NameInDir.framework/Headers/
  vendor/clang/dist/test/Modules/Inputs/NameInDir.framework/Headers/NameInDir.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/NameInDir.framework/Modules/
  vendor/clang/dist/test/Modules/Inputs/NameInDir.framework/Modules/module.modulemap
  vendor/clang/dist/test/Modules/Inputs/NameInDir2.framework/
  vendor/clang/dist/test/Modules/Inputs/NameInDir2.framework/Headers/
  vendor/clang/dist/test/Modules/Inputs/NameInDir2.framework/Headers/NameInDir2.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/NameInDir2.framework/Modules/
  vendor/clang/dist/test/Modules/Inputs/NameInDir2.framework/Modules/module.modulemap
  vendor/clang/dist/test/Modules/Inputs/NameInDirInferred.framework/
  vendor/clang/dist/test/Modules/Inputs/NameInDirInferred.framework/Headers/
  vendor/clang/dist/test/Modules/Inputs/NameInDirInferred.framework/Headers/NameInDirInferred.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/crash.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/explicit-build-prefer-self/
  vendor/clang/dist/test/Modules/Inputs/explicit-build-prefer-self/a.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/explicit-build-prefer-self/b.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/explicit-build-prefer-self/map
  vendor/clang/dist/test/Modules/Inputs/explicit-build-prefer-self/x.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/merge-class-definition-visibility/e.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/submodule-visibility/c.h   (contents, props changed)
  vendor/clang/dist/test/Modules/Inputs/submodule-visibility/other.h   (contents, props changed)
  vendor/clang/dist/test/Modules/debug-info-moduleimport.m
  vendor/clang/dist/test/Modules/explicit-build-prefer-self.cpp   (contents, props changed)
  vendor/clang/dist/test/Modules/framework-name.m
  vendor/clang/dist/test/Modules/module-feature.m
  vendor/clang/dist/test/Modules/signal.m
  vendor/clang/dist/test/OpenMP/cancel_ast_print.cpp   (contents, props changed)
  vendor/clang/dist/test/OpenMP/cancel_messages.cpp   (contents, props changed)
  vendor/clang/dist/test/OpenMP/cancellation_point_ast_print.cpp   (contents, props changed)
  vendor/clang/dist/test/OpenMP/cancellation_point_codegen.cpp   (contents, props changed)
  vendor/clang/dist/test/OpenMP/cancellation_point_messages.cpp   (contents, props changed)
  vendor/clang/dist/test/OpenMP/task_depend_messages.cpp   (contents, props changed)
  vendor/clang/dist/test/Parser/cxx-concept-declaration.cpp   (contents, props changed)
  vendor/clang/dist/test/Parser/cxx-concepts-ambig-constraint-expr.cpp   (contents, props changed)
  vendor/clang/dist/test/Parser/cxx-concepts-requires-clause.cpp   (contents, props changed)
  vendor/clang/dist/test/Preprocessor/predefined-nullability.c   (contents, props changed)
  vendor/clang/dist/test/Sema/arm-microsoft-intrinsics.c   (contents, props changed)
  vendor/clang/dist/test/Sema/builtin-cpu-supports.c   (contents, props changed)
  vendor/clang/dist/test/SemaCXX/openmp_default_simd_align.cpp   (contents, props changed)
  vendor/clang/dist/test/SemaCXX/virtual-function-in-union.cpp   (contents, props changed)
  vendor/clang/dist/test/SemaTemplate/instantiate-explicitly-after-fatal.cpp   (contents, props changed)
Deleted:
  vendor/clang/dist/docs/tools/Makefile
  vendor/clang/dist/docs/tools/clang.pod
  vendor/clang/dist/docs/tools/manpage.css
Modified:
  vendor/clang/dist/docs/AddressSanitizer.rst
  vendor/clang/dist/docs/AttributeReference.rst
  vendor/clang/dist/docs/CMakeLists.txt
  vendor/clang/dist/docs/ClangFormatStyleOptions.rst
  vendor/clang/dist/docs/DriverInternals.rst
  vendor/clang/dist/docs/LeakSanitizer.rst
  vendor/clang/dist/docs/LibASTMatchersReference.html
  vendor/clang/dist/docs/Makefile
  vendor/clang/dist/docs/ObjectiveCLiterals.rst
  vendor/clang/dist/docs/SafeStack.rst
  vendor/clang/dist/docs/conf.py
  vendor/clang/dist/docs/index.rst
  vendor/clang/dist/examples/analyzer-plugin/MainCallChecker.cpp
  vendor/clang/dist/include/clang-c/Index.h
  vendor/clang/dist/include/clang/AST/ASTContext.h
  vendor/clang/dist/include/clang/AST/ASTMutationListener.h
  vendor/clang/dist/include/clang/AST/DataRecursiveASTVisitor.h
  vendor/clang/dist/include/clang/AST/EvaluatedExprVisitor.h
  vendor/clang/dist/include/clang/AST/ExprObjC.h
  vendor/clang/dist/include/clang/AST/ExternalASTSource.h
  vendor/clang/dist/include/clang/AST/Mangle.h
  vendor/clang/dist/include/clang/AST/NSAPI.h
  vendor/clang/dist/include/clang/AST/OpenMPClause.h
  vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h
  vendor/clang/dist/include/clang/AST/StmtIterator.h
  vendor/clang/dist/include/clang/AST/StmtOpenMP.h
  vendor/clang/dist/include/clang/AST/Type.h
  vendor/clang/dist/include/clang/ASTMatchers/ASTMatchers.h
  vendor/clang/dist/include/clang/Analysis/Analyses/FormatString.h
  vendor/clang/dist/include/clang/Basic/Attr.td
  vendor/clang/dist/include/clang/Basic/AttrDocs.td
  vendor/clang/dist/include/clang/Basic/BuiltinsARM.def
  vendor/clang/dist/include/clang/Basic/BuiltinsNVPTX.def
  vendor/clang/dist/include/clang/Basic/BuiltinsPPC.def
  vendor/clang/dist/include/clang/Basic/BuiltinsX86.def
  vendor/clang/dist/include/clang/Basic/Diagnostic.h
  vendor/clang/dist/include/clang/Basic/DiagnosticCommonKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist/include/clang/Basic/IdentifierTable.h
  vendor/clang/dist/include/clang/Basic/LangOptions.def
  vendor/clang/dist/include/clang/Basic/LangOptions.h
  vendor/clang/dist/include/clang/Basic/Module.h
  vendor/clang/dist/include/clang/Basic/OpenMPKinds.def
  vendor/clang/dist/include/clang/Basic/OpenMPKinds.h
  vendor/clang/dist/include/clang/Basic/Specifiers.h
  vendor/clang/dist/include/clang/Basic/StmtNodes.td
  vendor/clang/dist/include/clang/Basic/TargetInfo.h
  vendor/clang/dist/include/clang/Basic/TokenKinds.def
  vendor/clang/dist/include/clang/Basic/TypeTraits.h
  vendor/clang/dist/include/clang/CodeGen/CodeGenABITypes.h
  vendor/clang/dist/include/clang/CodeGen/ModuleBuilder.h
  vendor/clang/dist/include/clang/Driver/CC1Options.td
  vendor/clang/dist/include/clang/Driver/CLCompatOptions.td
  vendor/clang/dist/include/clang/Driver/Compilation.h
  vendor/clang/dist/include/clang/Driver/Driver.h
  vendor/clang/dist/include/clang/Driver/Job.h
  vendor/clang/dist/include/clang/Driver/Options.td
  vendor/clang/dist/include/clang/Driver/SanitizerArgs.h
  vendor/clang/dist/include/clang/Format/Format.h
  vendor/clang/dist/include/clang/Lex/ExternalPreprocessorSource.h
  vendor/clang/dist/include/clang/Lex/HeaderSearch.h
  vendor/clang/dist/include/clang/Lex/ModuleMap.h
  vendor/clang/dist/include/clang/Lex/Preprocessor.h
  vendor/clang/dist/include/clang/Parse/Parser.h
  vendor/clang/dist/include/clang/Sema/DeclSpec.h
  vendor/clang/dist/include/clang/Sema/Sema.h
  vendor/clang/dist/include/clang/Serialization/ASTBitCodes.h
  vendor/clang/dist/include/clang/Serialization/ASTReader.h
  vendor/clang/dist/include/clang/Serialization/ASTWriter.h
  vendor/clang/dist/include/clang/Serialization/Module.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h
  vendor/clang/dist/lib/ARCMigrate/ObjCMT.cpp
  vendor/clang/dist/lib/AST/ASTContext.cpp
  vendor/clang/dist/lib/AST/ASTDumper.cpp
  vendor/clang/dist/lib/AST/DeclBase.cpp
  vendor/clang/dist/lib/AST/DeclPrinter.cpp
  vendor/clang/dist/lib/AST/Expr.cpp
  vendor/clang/dist/lib/AST/ExprConstant.cpp
  vendor/clang/dist/lib/AST/ExternalASTSource.cpp
  vendor/clang/dist/lib/AST/ItaniumMangle.cpp
  vendor/clang/dist/lib/AST/MicrosoftMangle.cpp
  vendor/clang/dist/lib/AST/NSAPI.cpp
  vendor/clang/dist/lib/AST/ParentMap.cpp
  vendor/clang/dist/lib/AST/Stmt.cpp
  vendor/clang/dist/lib/AST/StmtIterator.cpp
  vendor/clang/dist/lib/AST/StmtPrinter.cpp
  vendor/clang/dist/lib/AST/StmtProfile.cpp
  vendor/clang/dist/lib/AST/Type.cpp
  vendor/clang/dist/lib/AST/TypePrinter.cpp
  vendor/clang/dist/lib/ASTMatchers/ASTMatchersInternal.cpp
  vendor/clang/dist/lib/ASTMatchers/Dynamic/Registry.cpp
  vendor/clang/dist/lib/Analysis/AnalysisDeclContext.cpp
  vendor/clang/dist/lib/Analysis/CFG.cpp
  vendor/clang/dist/lib/Analysis/CallGraph.cpp
  vendor/clang/dist/lib/Analysis/LiveVariables.cpp
  vendor/clang/dist/lib/Analysis/PrintfFormatString.cpp
  vendor/clang/dist/lib/Analysis/PseudoConstantAnalysis.cpp
  vendor/clang/dist/lib/Basic/Diagnostic.cpp
  vendor/clang/dist/lib/Basic/IdentifierTable.cpp
  vendor/clang/dist/lib/Basic/Module.cpp
  vendor/clang/dist/lib/Basic/OpenMPKinds.cpp
  vendor/clang/dist/lib/Basic/TargetInfo.cpp
  vendor/clang/dist/lib/Basic/Targets.cpp
  vendor/clang/dist/lib/Basic/VirtualFileSystem.cpp
  vendor/clang/dist/lib/CodeGen/BackendUtil.cpp
  vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp
  vendor/clang/dist/lib/CodeGen/CGCXXABI.cpp
  vendor/clang/dist/lib/CodeGen/CGCXXABI.h
  vendor/clang/dist/lib/CodeGen/CGCall.cpp
  vendor/clang/dist/lib/CodeGen/CGClass.cpp
  vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp
  vendor/clang/dist/lib/CodeGen/CGDebugInfo.h
  vendor/clang/dist/lib/CodeGen/CGDecl.cpp
  vendor/clang/dist/lib/CodeGen/CGExpr.cpp
  vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp
  vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp
  vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp
  vendor/clang/dist/lib/CodeGen/CGObjC.cpp
  vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.cpp
  vendor/clang/dist/lib/CodeGen/CGOpenMPRuntime.h
  vendor/clang/dist/lib/CodeGen/CGStmt.cpp
  vendor/clang/dist/lib/CodeGen/CGStmtOpenMP.cpp
  vendor/clang/dist/lib/CodeGen/CGVTables.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenABITypes.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenAction.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenFunction.h
  vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenModule.h
  vendor/clang/dist/lib/CodeGen/CodeGenPGO.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenTypes.cpp
  vendor/clang/dist/lib/CodeGen/CoverageMappingGen.cpp
  vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp
  vendor/clang/dist/lib/CodeGen/MicrosoftCXXABI.cpp
  vendor/clang/dist/lib/CodeGen/ModuleBuilder.cpp
  vendor/clang/dist/lib/CodeGen/TargetInfo.cpp
  vendor/clang/dist/lib/CodeGen/TargetInfo.h
  vendor/clang/dist/lib/Driver/CMakeLists.txt
  vendor/clang/dist/lib/Driver/Compilation.cpp
  vendor/clang/dist/lib/Driver/CrossWindowsToolChain.cpp
  vendor/clang/dist/lib/Driver/Driver.cpp
  vendor/clang/dist/lib/Driver/Job.cpp
  vendor/clang/dist/lib/Driver/MSVCToolChain.cpp
  vendor/clang/dist/lib/Driver/SanitizerArgs.cpp
  vendor/clang/dist/lib/Driver/ToolChains.cpp
  vendor/clang/dist/lib/Driver/ToolChains.h
  vendor/clang/dist/lib/Driver/Tools.cpp
  vendor/clang/dist/lib/Driver/Tools.h
  vendor/clang/dist/lib/Format/ContinuationIndenter.cpp
  vendor/clang/dist/lib/Format/Format.cpp
  vendor/clang/dist/lib/Format/TokenAnnotator.cpp
  vendor/clang/dist/lib/Format/UnwrappedLineParser.cpp
  vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
  vendor/clang/dist/lib/Frontend/FrontendActions.cpp
  vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp
  vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp
  vendor/clang/dist/lib/Frontend/MultiplexConsumer.cpp
  vendor/clang/dist/lib/Frontend/Rewrite/InclusionRewriter.cpp
  vendor/clang/dist/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  vendor/clang/dist/lib/Frontend/Rewrite/RewriteObjC.cpp
  vendor/clang/dist/lib/Headers/CMakeLists.txt
  vendor/clang/dist/lib/Headers/Intrin.h
  vendor/clang/dist/lib/Headers/__wmmintrin_aes.h
  vendor/clang/dist/lib/Headers/adxintrin.h
  vendor/clang/dist/lib/Headers/altivec.h
  vendor/clang/dist/lib/Headers/ammintrin.h
  vendor/clang/dist/lib/Headers/avx2intrin.h
  vendor/clang/dist/lib/Headers/avx512bwintrin.h
  vendor/clang/dist/lib/Headers/avx512dqintrin.h
  vendor/clang/dist/lib/Headers/avx512fintrin.h
  vendor/clang/dist/lib/Headers/avx512vlbwintrin.h
  vendor/clang/dist/lib/Headers/avx512vldqintrin.h
  vendor/clang/dist/lib/Headers/avx512vlintrin.h
  vendor/clang/dist/lib/Headers/avxintrin.h
  vendor/clang/dist/lib/Headers/bmi2intrin.h
  vendor/clang/dist/lib/Headers/bmiintrin.h
  vendor/clang/dist/lib/Headers/emmintrin.h
  vendor/clang/dist/lib/Headers/f16cintrin.h
  vendor/clang/dist/lib/Headers/fma4intrin.h
  vendor/clang/dist/lib/Headers/fmaintrin.h
  vendor/clang/dist/lib/Headers/immintrin.h
  vendor/clang/dist/lib/Headers/lzcntintrin.h
  vendor/clang/dist/lib/Headers/mm3dnow.h
  vendor/clang/dist/lib/Headers/mmintrin.h
  vendor/clang/dist/lib/Headers/module.modulemap
  vendor/clang/dist/lib/Headers/pmmintrin.h
  vendor/clang/dist/lib/Headers/popcntintrin.h
  vendor/clang/dist/lib/Headers/rdseedintrin.h
  vendor/clang/dist/lib/Headers/rtmintrin.h
  vendor/clang/dist/lib/Headers/shaintrin.h
  vendor/clang/dist/lib/Headers/smmintrin.h
  vendor/clang/dist/lib/Headers/tbmintrin.h
  vendor/clang/dist/lib/Headers/tmmintrin.h
  vendor/clang/dist/lib/Headers/xmmintrin.h
  vendor/clang/dist/lib/Headers/xopintrin.h
  vendor/clang/dist/lib/Lex/HeaderSearch.cpp
  vendor/clang/dist/lib/Lex/ModuleMap.cpp
  vendor/clang/dist/lib/Lex/PPDirectives.cpp
  vendor/clang/dist/lib/Lex/PPLexerChange.cpp
  vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp
  vendor/clang/dist/lib/Lex/Preprocessor.cpp
  vendor/clang/dist/lib/Parse/ParseCXXInlineMethods.cpp
  vendor/clang/dist/lib/Parse/ParseDecl.cpp
  vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp
  vendor/clang/dist/lib/Parse/ParseExpr.cpp
  vendor/clang/dist/lib/Parse/ParseExprCXX.cpp
  vendor/clang/dist/lib/Parse/ParseObjc.cpp
  vendor/clang/dist/lib/Parse/ParseOpenMP.cpp
  vendor/clang/dist/lib/Parse/ParseTemplate.cpp
  vendor/clang/dist/lib/Parse/ParseTentative.cpp
  vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp
  vendor/clang/dist/lib/Sema/DeclSpec.cpp
  vendor/clang/dist/lib/Sema/JumpDiagnostics.cpp
  vendor/clang/dist/lib/Sema/Sema.cpp
  vendor/clang/dist/lib/Sema/SemaChecking.cpp
  vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp
  vendor/clang/dist/lib/Sema/SemaDecl.cpp
  vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp
  vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp
  vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp
  vendor/clang/dist/lib/Sema/SemaExceptionSpec.cpp
  vendor/clang/dist/lib/Sema/SemaExpr.cpp
  vendor/clang/dist/lib/Sema/SemaExprCXX.cpp
  vendor/clang/dist/lib/Sema/SemaExprObjC.cpp
  vendor/clang/dist/lib/Sema/SemaInit.cpp
  vendor/clang/dist/lib/Sema/SemaObjCProperty.cpp
  vendor/clang/dist/lib/Sema/SemaOpenMP.cpp
  vendor/clang/dist/lib/Sema/SemaStmt.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp
  vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp
  vendor/clang/dist/lib/Sema/SemaType.cpp
  vendor/clang/dist/lib/Sema/TreeTransform.h
  vendor/clang/dist/lib/Serialization/ASTCommon.h
  vendor/clang/dist/lib/Serialization/ASTReader.cpp
  vendor/clang/dist/lib/Serialization/ASTReaderDecl.cpp
  vendor/clang/dist/lib/Serialization/ASTReaderStmt.cpp
  vendor/clang/dist/lib/Serialization/ASTWriter.cpp
  vendor/clang/dist/lib/Serialization/ASTWriterStmt.cpp
  vendor/clang/dist/lib/Serialization/GeneratePCH.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ArrayBoundChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/BoolAssignmentChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringSyntaxChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CallAndMessageChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CastSizeChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CastToStructChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckSecuritySyntaxOnly.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CheckSizeofPointer.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ChrootChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/DereferenceChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/DivZeroChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ExprInspectionChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/FixedAddressChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/GenericTaintChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/LLVMConventionsChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/MacOSXAPIChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCAtSyncChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCContainersASTChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCContainersChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/PointerArithChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/PointerSubChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/PthreadLockChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ReturnPointerRangeChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/ReturnUndefChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/StreamChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/TaintTesterChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefBranchChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefResultChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefinedArraySubscriptChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/UndefinedAssignmentChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporter.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/BugReporterVisitors.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngine.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  vendor/clang/dist/lib/Tooling/CompilationDatabase.cpp
  vendor/clang/dist/test/Analysis/retain-release.m
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-1y.cpp
  vendor/clang/dist/test/CXX/drs/dr9xx.cpp
  vendor/clang/dist/test/CodeGen/2004-11-27-StaticFunctionRedeclare.c
  vendor/clang/dist/test/CodeGen/2007-04-14-FNoBuiltin.c
  vendor/clang/dist/test/CodeGen/PR8880.c
  vendor/clang/dist/test/CodeGen/arm-microsoft-intrinsics.c
  vendor/clang/dist/test/CodeGen/arm-target-features.c
  vendor/clang/dist/test/CodeGen/attr-nodebug.c
  vendor/clang/dist/test/CodeGen/attr-target.c
  vendor/clang/dist/test/CodeGen/avx512bw-builtins.c
  vendor/clang/dist/test/CodeGen/avx512f-builtins.c
  vendor/clang/dist/test/CodeGen/avx512vl-builtins.c
  vendor/clang/dist/test/CodeGen/builtins-nvptx.c
  vendor/clang/dist/test/CodeGen/builtins-ppc-p8vector.c
  vendor/clang/dist/test/CodeGen/builtins-ppc-vsx.c
  vendor/clang/dist/test/CodeGen/builtins-x86.c
  vendor/clang/dist/test/CodeGen/builtinshufflevector2.c
  vendor/clang/dist/test/CodeGen/c-strings.c
  vendor/clang/dist/test/CodeGen/c11atomics.c
  vendor/clang/dist/test/CodeGen/call.c
  vendor/clang/dist/test/CodeGen/captured-statements-nested.c
  vendor/clang/dist/test/CodeGen/captured-statements.c
  vendor/clang/dist/test/CodeGen/complex-convert.c
  vendor/clang/dist/test/CodeGen/dostmt.c
  vendor/clang/dist/test/CodeGen/fast-math.c
  vendor/clang/dist/test/CodeGen/finite-math.c
  vendor/clang/dist/test/CodeGen/linkage-redecl.c
  vendor/clang/dist/test/CodeGen/nomathbuiltin.c
  vendor/clang/dist/test/CodeGen/pr9614.c
  vendor/clang/dist/test/CodeGen/redefine_extname.c
  vendor/clang/dist/test/CodeGen/stack-protector.c
  vendor/clang/dist/test/CodeGen/static-order.c
  vendor/clang/dist/test/CodeGen/ubsan-blacklist.c
  vendor/clang/dist/test/CodeGen/volatile-1.c
  vendor/clang/dist/test/CodeGen/x86_64-arguments.c
  vendor/clang/dist/test/CodeGenCXX/PR5093-static-member-function.cpp
  vendor/clang/dist/test/CodeGenCXX/address-of-fntemplate.cpp
  vendor/clang/dist/test/CodeGenCXX/attr-cleanup.cpp
  vendor/clang/dist/test/CodeGenCXX/block-byref-cxx-objc.cpp
  vendor/clang/dist/test/CodeGenCXX/c-linkage.cpp
  vendor/clang/dist/test/CodeGenCXX/captured-statements.cpp
  vendor/clang/dist/test/CodeGenCXX/constructor-attr.cpp
  vendor/clang/dist/test/CodeGenCXX/ctor-globalopt.cpp
  vendor/clang/dist/test/CodeGenCXX/debug-info-line.cpp
  vendor/clang/dist/test/CodeGenCXX/debug-info-namespace.cpp
  vendor/clang/dist/test/CodeGenCXX/deferred-global-init.cpp
  vendor/clang/dist/test/CodeGenCXX/derived-to-virtual-base-class-calls-final.cpp
  vendor/clang/dist/test/CodeGenCXX/dllexport.cpp
  vendor/clang/dist/test/CodeGenCXX/dynamic_cast-no-rtti.cpp
  vendor/clang/dist/test/CodeGenCXX/extern-c.cpp
  vendor/clang/dist/test/CodeGenCXX/function-template-explicit-specialization.cpp
  vendor/clang/dist/test/CodeGenCXX/globalinit-loc.cpp
  vendor/clang/dist/test/CodeGenCXX/inline-dllexport-member.cpp
  vendor/clang/dist/test/CodeGenCXX/linetable-virtual-variadic.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-address-space.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-ms-templates-memptrs-2.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-ms-templates-memptrs.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-nullptr-arg.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-template.cpp
  vendor/clang/dist/test/CodeGenCXX/microsoft-abi-array-cookies.cpp
  vendor/clang/dist/test/CodeGenCXX/microsoft-abi-member-pointers.cpp
  vendor/clang/dist/test/CodeGenCXX/microsoft-abi-thunks.cpp
  vendor/clang/dist/test/CodeGenCXX/pr11797.cpp
  vendor/clang/dist/test/CodeGenCXX/pr18661.cpp
  vendor/clang/dist/test/CodeGenCXX/pr9965.cpp
  vendor/clang/dist/test/CodeGenCXX/pragma-weak.cpp
  vendor/clang/dist/test/CodeGenCXX/predefined-expr.cpp
  vendor/clang/dist/test/CodeGenCXX/redefine_extname.cpp
  vendor/clang/dist/test/CodeGenCXX/template-dependent-bind-temporary.cpp
  vendor/clang/dist/test/CodeGenCXX/thunks.cpp
  vendor/clang/dist/test/CodeGenCXX/typeid-should-throw.cpp
  vendor/clang/dist/test/CodeGenCXX/vararg-non-pod.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-destructor-synthesis.cpp
  vendor/clang/dist/test/CodeGenCXX/vla-lambda-capturing.cpp
  vendor/clang/dist/test/CodeGenCXX/volatile-1.cpp
  vendor/clang/dist/test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp
  vendor/clang/dist/test/CodeGenObjC/arc-block-copy-escape.m
  vendor/clang/dist/test/CodeGenObjC/objc2-legacy-dispatch.m
  vendor/clang/dist/test/CodeGenObjC/related-result-type.m
  vendor/clang/dist/test/CodeGenObjCXX/arc-mangle.mm
  vendor/clang/dist/test/CodeGenObjCXX/debug-info-line.mm
  vendor/clang/dist/test/CodeGenOpenCL/event_t.cl
  vendor/clang/dist/test/CodeGenOpenCL/local.cl
  vendor/clang/dist/test/CodeGenOpenCL/opencl_types.cl
  vendor/clang/dist/test/CoverageMapping/ir.c
  vendor/clang/dist/test/Driver/arm-mfpu.c
  vendor/clang/dist/test/Driver/bindings.c
  vendor/clang/dist/test/Driver/cl-link.c
  vendor/clang/dist/test/Driver/cl-x86-flags.c
  vendor/clang/dist/test/Driver/darwin-debug-flags.c
  vendor/clang/dist/test/Driver/darwin-dsymutil.c
  vendor/clang/dist/test/Driver/darwin-sdkroot.c
  vendor/clang/dist/test/Driver/darwin-verify-debug.c
  vendor/clang/dist/test/Driver/fsanitize.c
  vendor/clang/dist/test/Driver/integrated-as.s
  vendor/clang/dist/test/Driver/linux-ld.c
  vendor/clang/dist/test/Driver/lit.local.cfg
  vendor/clang/dist/test/Driver/pic.c
  vendor/clang/dist/test/FixIt/fixit-nullability-declspec.cpp
  vendor/clang/dist/test/Index/annotate-literals.m
  vendor/clang/dist/test/Index/complete-objc-message.m
  vendor/clang/dist/test/Index/complete-stmt.c
  vendor/clang/dist/test/Modules/Inputs/merge-class-definition-visibility/b.h
  vendor/clang/dist/test/Modules/Inputs/merge-class-definition-visibility/d.h
  vendor/clang/dist/test/Modules/Inputs/merge-class-definition-visibility/modmap
  vendor/clang/dist/test/Modules/Inputs/module.map
  vendor/clang/dist/test/Modules/Inputs/submodule-visibility/a.h
  vendor/clang/dist/test/Modules/Inputs/submodule-visibility/b.h
  vendor/clang/dist/test/Modules/Inputs/submodule-visibility/module.modulemap
  vendor/clang/dist/test/Modules/Inputs/submodules-merge-defs/defs.h
  vendor/clang/dist/test/Modules/cxx-irgen.cpp
  vendor/clang/dist/test/Modules/direct-module-import.m
  vendor/clang/dist/test/Modules/merge-class-definition-visibility.cpp
  vendor/clang/dist/test/Modules/module_file_info.m
  vendor/clang/dist/test/Modules/modules-with-same-name.m
  vendor/clang/dist/test/Modules/pch-used.m
  vendor/clang/dist/test/Modules/submodule-visibility.cpp
  vendor/clang/dist/test/Modules/submodules-merge-defs.cpp
  vendor/clang/dist/test/OpenMP/barrier_codegen.cpp
  vendor/clang/dist/test/OpenMP/critical_codegen.cpp
  vendor/clang/dist/test/OpenMP/flush_codegen.cpp
  vendor/clang/dist/test/OpenMP/for_codegen.cpp
  vendor/clang/dist/test/OpenMP/for_firstprivate_codegen.cpp
  vendor/clang/dist/test/OpenMP/for_private_codegen.cpp
  vendor/clang/dist/test/OpenMP/for_simd_codegen.cpp
  vendor/clang/dist/test/OpenMP/master_codegen.cpp
  vendor/clang/dist/test/OpenMP/ordered_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_copyin_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_firstprivate_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_for_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_for_simd_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_if_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_num_threads_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_private_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_proc_bind_codegen.cpp
  vendor/clang/dist/test/OpenMP/parallel_sections_codegen.cpp
  vendor/clang/dist/test/OpenMP/sections_codegen.cpp
  vendor/clang/dist/test/OpenMP/sections_firstprivate_codegen.cpp
  vendor/clang/dist/test/OpenMP/sections_private_codegen.cpp
  vendor/clang/dist/test/OpenMP/simd_metadata.c
  vendor/clang/dist/test/OpenMP/single_codegen.cpp
  vendor/clang/dist/test/OpenMP/single_firstprivate_codegen.cpp
  vendor/clang/dist/test/OpenMP/single_private_codegen.cpp
  vendor/clang/dist/test/OpenMP/task_ast_print.cpp
  vendor/clang/dist/test/OpenMP/task_codegen.cpp
  vendor/clang/dist/test/OpenMP/task_if_codegen.cpp
  vendor/clang/dist/test/OpenMP/task_private_codegen.cpp
  vendor/clang/dist/test/OpenMP/taskgroup_codegen.cpp
  vendor/clang/dist/test/PCH/cxx-mangling.cpp
  vendor/clang/dist/test/PCH/objc_container.m
  vendor/clang/dist/test/PCH/objc_literals.m
  vendor/clang/dist/test/PCH/objc_literals.mm
  vendor/clang/dist/test/PCH/subscripting-literals.m
  vendor/clang/dist/test/Parser/cxx-class.cpp
  vendor/clang/dist/test/Parser/nullability.c
  vendor/clang/dist/test/Preprocessor/cxx_true.cpp
  vendor/clang/dist/test/Profile/cxx-lambda.cpp
  vendor/clang/dist/test/Profile/cxx-rangefor.cpp
  vendor/clang/dist/test/Profile/cxx-templates.cpp
  vendor/clang/dist/test/Profile/profile-does-not-exist.c
  vendor/clang/dist/test/Sema/attr-malloc.c
  vendor/clang/dist/test/Sema/enable_if.c
  vendor/clang/dist/test/Sema/non-null-warning.c
  vendor/clang/dist/test/Sema/nullability.c
  vendor/clang/dist/test/Sema/typo-correction.c
  vendor/clang/dist/test/SemaCXX/cxx0x-initializer-stdinitializerlist.cpp
  vendor/clang/dist/test/SemaCXX/cxx1y-generic-lambdas.cpp
  vendor/clang/dist/test/SemaCXX/nullability-declspec.cpp
  vendor/clang/dist/test/SemaCXX/nullability.cpp
  vendor/clang/dist/test/SemaCXX/typo-correction-cxx11.cpp
  vendor/clang/dist/test/SemaCXX/virtuals.cpp
  vendor/clang/dist/test/SemaObjC/arc-unavailable-for-weakref.m
  vendor/clang/dist/test/SemaObjC/format-strings-objc.m
  vendor/clang/dist/test/SemaObjC/nullability-arc.m
  vendor/clang/dist/test/SemaObjC/nullability.m
  vendor/clang/dist/test/SemaObjC/nullable-weak-property.m
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-1.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-2.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-3.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-4.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-5.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-8.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-consistency-system/nullability-consistency-system.h
  vendor/clang/dist/test/SemaObjCXX/Inputs/nullability-pragmas-1.h
  vendor/clang/dist/test/SemaObjCXX/nullability-consistency.mm
  vendor/clang/dist/test/SemaObjCXX/nullability-pragmas.mm
  vendor/clang/dist/test/SemaTemplate/instantiate-local-class.cpp
  vendor/clang/dist/test/lit.cfg
  vendor/clang/dist/tools/clang-fuzzer/ClangFuzzer.cpp
  vendor/clang/dist/tools/driver/cc1as_main.cpp
  vendor/clang/dist/tools/driver/driver.cpp
  vendor/clang/dist/tools/libclang/CIndex.cpp
  vendor/clang/dist/tools/libclang/CXCursor.cpp
  vendor/clang/dist/tools/scan-build/ccc-analyzer
  vendor/clang/dist/tools/scan-build/scan-build
  vendor/clang/dist/unittests/ASTMatchers/ASTMatchersTest.cpp
  vendor/clang/dist/unittests/CodeGen/BufferSourceTest.cpp
  vendor/clang/dist/unittests/Format/FormatTest.cpp
  vendor/clang/dist/unittests/Format/FormatTestJS.cpp
  vendor/clang/dist/unittests/Format/FormatTestJava.cpp
  vendor/clang/dist/unittests/Format/FormatTestProto.cpp
  vendor/clang/dist/utils/analyzer/CmpRuns.py
  vendor/clang/dist/utils/analyzer/SATestBuild.py

Modified: vendor/clang/dist/docs/AddressSanitizer.rst
==============================================================================
--- vendor/clang/dist/docs/AddressSanitizer.rst	Sun Jul  5 14:22:19 2015	(r285164)
+++ vendor/clang/dist/docs/AddressSanitizer.rst	Sun Jul  5 14:23:59 2015	(r285165)
@@ -60,7 +60,28 @@ or:
     % clang -g -fsanitize=address example_UseAfterFree.o
 
 If a bug is detected, the program will print an error message to stderr and
-exit with a non-zero exit code. To make AddressSanitizer symbolize its output
+exit with a non-zero exit code. AddressSanitizer exits on the first detected error.
+This is by design:
+
+* This approach allows AddressSanitizer to produce faster and smaller generated code
+  (both by ~5%).
+* Fixing bugs becomes unavoidable. AddressSanitizer does not produce
+  false alarms. Once a memory corruption occurs, the program is in an inconsistent
+  state, which could lead to confusing results and potentially misleading
+  subsequent reports.
+
+If your process is sandboxed and you are running on OS X 10.10 or earlier, you
+will need to set ``DYLD_INSERT_LIBRARIES`` environment variable and point it to
+the ASan library that is packaged with the compiler used to build the
+executable. (You can find the library by searching for dynamic libraries with
+``asan`` in their name.) If the environment variable is not set, the process will
+try to re-exec. Also keep in mind that when moving the executable to another machine,
+the ASan library will also need to be copied over.
+
+Symbolizing the Reports
+=========================
+
+To make AddressSanitizer symbolize its output
 you need to set the ``ASAN_SYMBOLIZER_PATH`` environment variable to point to
 the ``llvm-symbolizer`` binary (or make sure ``llvm-symbolizer`` is in your
 ``$PATH``):
@@ -100,14 +121,63 @@ force disabled by setting ``ASAN_OPTIONS
 Note that on OS X you may need to run ``dsymutil`` on your binary to have the
 file\:line info in the AddressSanitizer reports.
 
-AddressSanitizer exits on the first detected error. This is by design.
-One reason: it makes the generated code smaller and faster (both by
-~5%). Another reason: this makes fixing bugs unavoidable. With Valgrind,
-it is often the case that users treat Valgrind warnings as false
-positives (which they are not) and don't fix them.
+Additional Checks
+=================
+
+Initialization order checking
+-----------------------------
+
+AddressSanitizer can optionally detect dynamic initialization order problems,
+when initialization of globals defined in one translation unit uses
+globals defined in another translation unit. To enable this check at runtime,
+you should set environment variable
+``ASAN_OPTIONS=check_initialization_order=1``.
+
+Note that this option is not supported on OS X.
+
+Memory leak detection
+---------------------
+
+For more information on leak detector in AddressSanitizer, see
+:doc:`LeakSanitizer`. The leak detection is turned on by default on Linux;
+however, it is not yet supported on other platforms.
+
+Issue Suppression
+=================
+
+AddressSanitizer is not expected to produce false positives. If you see one,
+look again; most likely it is a true positive!
+
+Suppressing Reports in External Libraries
+-----------------------------------------
+Runtime interposition allows AddressSanitizer to find bugs in code that is
+not being recompiled. If you run into an issue in external libraries, we
+recommend immediately reporting it to the library maintainer so that it
+gets addressed. However, you can use the following suppression mechanism
+to unblock yourself and continue on with the testing. This suppression
+mechanism should only be used for suppressing issues in external code; it
+does not work on code recompiled with AddressSanitizer. To suppress errors
+in external libraries, set the ``ASAN_OPTIONS`` environment variable to point
+to a suppression file. You can either specify the full path to the file or the
+path of the file relative to the location of your executable.
+
+.. code-block:: bash
+
+    ASAN_OPTIONS=suppressions=MyASan.supp
+
+Use the following format to specify the names of the functions or libraries
+you want to suppress. You can see these in the error report. Remember that
+the narrower the scope of the suppression, the more bugs you will be able to
+catch.
 
-``__has_feature(address_sanitizer)``
-------------------------------------
+.. code-block:: bash
+
+    interceptor_via_fun:NameOfCFunctionToSuppress
+    interceptor_via_fun:-[ClassName objCMethodToSuppress:]
+    interceptor_via_lib:NameOfTheLibraryToSuppress
+
+Conditional Compilation with ``__has_feature(address_sanitizer)``
+-----------------------------------------------------------------
 
 In some cases one may need to execute different code depending on whether
 AddressSanitizer is enabled.
@@ -122,28 +192,19 @@ this purpose.
     #  endif
     #endif
 
-``__attribute__((no_sanitize_address))``
------------------------------------------------
+Disabling Instrumentation with ``__attribute__((no_sanitize("address")))``
+--------------------------------------------------------------------------
 
 Some code should not be instrumented by AddressSanitizer. One may use the
-function attribute
-:ref:`no_sanitize_address <langext-address_sanitizer>`
-(or a deprecated synonym `no_address_safety_analysis`)
-to disable instrumentation of a particular function. This attribute may not be
-supported by other compilers, so we suggest to use it together with
-``__has_feature(address_sanitizer)``.
+function attribute ``__attribute__((no_sanitize("address")))``
+(which has deprecated synonyms
+:ref:`no_sanitize_address <langext-address_sanitizer>` and
+`no_address_safety_analysis`) to disable instrumentation of a particular
+function. This attribute may not be supported by other compilers, so we suggest
+to use it together with ``__has_feature(address_sanitizer)``.
 
-Initialization order checking
------------------------------
-
-AddressSanitizer can optionally detect dynamic initialization order problems,
-when initialization of globals defined in one translation unit uses
-globals defined in another translation unit. To enable this check at runtime,
-you should set environment variable
-``ASAN_OPTIONS=check_initialization_order=1``.
-
-Blacklist
----------
+Suppressing Errors in Recompiled Code (Blacklist)
+-------------------------------------------------
 
 AddressSanitizer supports ``src`` and ``fun`` entity types in
 :doc:`SanitizerSpecialCaseList`, that can be used to suppress error reports
@@ -172,24 +233,6 @@ problems happening in certain source fil
     type:*BadInitClassSubstring*=init
     src:bad/init/files/*=init
 
-Memory leak detection
----------------------
-
-For the experimental memory leak detector in AddressSanitizer, see
-:doc:`LeakSanitizer`.
-
-Supported Platforms
-===================
-
-AddressSanitizer is supported on
-
-* Linux i386/x86\_64 (tested on Ubuntu 12.04);
-* MacOS 10.6 - 10.9 (i386/x86\_64).
-* Android ARM
-* FreeBSD i386/x86\_64 (tested on FreeBSD 11-current)
-
-Ports to various other platforms are in progress.
-
 Limitations
 ===========
 
@@ -202,6 +245,19 @@ Limitations
   usually expected.
 * Static linking is not supported.
 
+Supported Platforms
+===================
+
+AddressSanitizer is supported on:
+
+* Linux i386/x86\_64 (tested on Ubuntu 12.04)
+* OS X 10.7 - 10.11 (i386/x86\_64)
+* iOS Simulator
+* Android ARM
+* FreeBSD i386/x86\_64 (tested on FreeBSD 11-current)
+
+Ports to various other platforms are in progress.
+
 Current Status
 ==============
 

Modified: vendor/clang/dist/docs/AttributeReference.rst
==============================================================================
--- vendor/clang/dist/docs/AttributeReference.rst	Sun Jul  5 14:22:19 2015	(r285164)
+++ vendor/clang/dist/docs/AttributeReference.rst	Sun Jul  5 14:23:59 2015	(r285165)
@@ -1,1116 +1,13 @@
 ..
   -------------------------------------------------------------------
   NOTE: This file is automatically generated by running clang-tblgen
-  -gen-attr-docs. Do not edit this file by hand!!
+  -gen-attr-docs. Do not edit this file by hand!! The contents for
+  this file are automatically generated by a server-side process.
+  
+  Please do not commit this file. The file exists for local testing
+  purposes only.
   -------------------------------------------------------------------
 
 ===================
 Attributes in Clang
-===================
-.. contents::
-   :local:
-
-Introduction
-============
-
-This page lists the attributes currently supported by Clang.
-
-Function Attributes
-===================
-
-
-interrupt
----------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-Clang supports the GNU style ``__attribute__((interrupt("TYPE")))`` attribute on
-ARM targets. This attribute may be attached to a function definition and
-instructs the backend to generate appropriate function entry/exit code so that
-it can be used directly as an interrupt service routine.
-
-The parameter passed to the interrupt attribute is optional, but if
-provided it must be a string literal with one of the following values: "IRQ",
-"FIQ", "SWI", "ABORT", "UNDEF".
-
-The semantics are as follows:
-
-- If the function is AAPCS, Clang instructs the backend to realign the stack to
-  8 bytes on entry. This is a general requirement of the AAPCS at public
-  interfaces, but may not hold when an exception is taken. Doing this allows
-  other AAPCS functions to be called.
-- If the CPU is M-class this is all that needs to be done since the architecture
-  itself is designed in such a way that functions obeying the normal AAPCS ABI
-  constraints are valid exception handlers.
-- If the CPU is not M-class, the prologue and epilogue are modified to save all
-  non-banked registers that are used, so that upon return the user-mode state
-  will not be corrupted. Note that to avoid unnecessary overhead, only
-  general-purpose (integer) registers are saved in this way. If VFP operations
-  are needed, that state must be saved manually.
-
-  Specifically, interrupt kinds other than "FIQ" will save all core registers
-  except "lr" and "sp". "FIQ" interrupts will save r0-r7.
-- If the CPU is not M-class, the return instruction is changed to one of the
-  canonical sequences permitted by the architecture for exception return. Where
-  possible the function itself will make the necessary "lr" adjustments so that
-  the "preferred return address" is selected.
-
-  Unfortunately the compiler is unable to make this guarantee for an "UNDEF"
-  handler, where the offset from "lr" to the preferred return address depends on
-  the execution state of the code which generated the exception. In this case
-  a sequence equivalent to "movs pc, lr" will be used.
-
-
-acquire_capability (acquire_shared_capability, clang::acquire_capability, clang::acquire_shared_capability)
------------------------------------------------------------------------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-Marks a function as acquiring a capability.
-
-
-assert_capability (assert_shared_capability, clang::assert_capability, clang::assert_shared_capability)
--------------------------------------------------------------------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-Marks a function that dynamically tests whether a capability is held, and halts
-the program if it is not held.
-
-
-availability
-------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-The ``availability`` attribute can be placed on declarations to describe the
-lifecycle of that declaration relative to operating system versions.  Consider
-the function declaration for a hypothetical function ``f``:
-
-.. code-block:: c++
-
-  void f(void) __attribute__((availability(macosx,introduced=10.4,deprecated=10.6,obsoleted=10.7)));
-
-The availability attribute states that ``f`` was introduced in Mac OS X 10.4,
-deprecated in Mac OS X 10.6, and obsoleted in Mac OS X 10.7.  This information
-is used by Clang to determine when it is safe to use ``f``: for example, if
-Clang is instructed to compile code for Mac OS X 10.5, a call to ``f()``
-succeeds.  If Clang is instructed to compile code for Mac OS X 10.6, the call
-succeeds but Clang emits a warning specifying that the function is deprecated.
-Finally, if Clang is instructed to compile code for Mac OS X 10.7, the call
-fails because ``f()`` is no longer available.
-
-The availability attribute is a comma-separated list starting with the
-platform name and then including clauses specifying important milestones in the
-declaration's lifetime (in any order) along with additional information.  Those
-clauses can be:
-
-introduced=\ *version*
-  The first version in which this declaration was introduced.
-
-deprecated=\ *version*
-  The first version in which this declaration was deprecated, meaning that
-  users should migrate away from this API.
-
-obsoleted=\ *version*
-  The first version in which this declaration was obsoleted, meaning that it
-  was removed completely and can no longer be used.
-
-unavailable
-  This declaration is never available on this platform.
-
-message=\ *string-literal*
-  Additional message text that Clang will provide when emitting a warning or
-  error about use of a deprecated or obsoleted declaration.  Useful to direct
-  users to replacement APIs.
-
-Multiple availability attributes can be placed on a declaration, which may
-correspond to different platforms.  Only the availability attribute with the
-platform corresponding to the target platform will be used; any others will be
-ignored.  If no availability attribute specifies availability for the current
-target platform, the availability attributes are ignored.  Supported platforms
-are:
-
-``ios``
-  Apple's iOS operating system.  The minimum deployment target is specified by
-  the ``-mios-version-min=*version*`` or ``-miphoneos-version-min=*version*``
-  command-line arguments.
-
-``macosx``
-  Apple's Mac OS X operating system.  The minimum deployment target is
-  specified by the ``-mmacosx-version-min=*version*`` command-line argument.
-
-A declaration can be used even when deploying back to a platform version prior
-to when the declaration was introduced.  When this happens, the declaration is
-`weakly linked
-<https://developer.apple.com/library/mac/#documentation/MacOSX/Conceptual/BPFrameworks/Concepts/WeakLinking.html>`_,
-as if the ``weak_import`` attribute were added to the declaration.  A
-weakly-linked declaration may or may not be present a run-time, and a program
-can determine whether the declaration is present by checking whether the
-address of that declaration is non-NULL.
-
-If there are multiple declarations of the same entity, the availability
-attributes must either match on a per-platform basis or later
-declarations must not have availability attributes for that
-platform. For example:
-
-.. code-block:: c
-
-  void g(void) __attribute__((availability(macosx,introduced=10.4)));
-  void g(void) __attribute__((availability(macosx,introduced=10.4))); // okay, matches
-  void g(void) __attribute__((availability(ios,introduced=4.0))); // okay, adds a new platform
-  void g(void); // okay, inherits both macosx and ios availability from above.
-  void g(void) __attribute__((availability(macosx,introduced=10.5))); // error: mismatch
-
-When one method overrides another, the overriding method can be more widely available than the overridden method, e.g.,:
-
-.. code-block:: objc
-
-  @interface A
-  - (id)method __attribute__((availability(macosx,introduced=10.4)));
-  - (id)method2 __attribute__((availability(macosx,introduced=10.4)));
-  @end
-
-  @interface B : A
-  - (id)method __attribute__((availability(macosx,introduced=10.3))); // okay: method moved into base class later
-  - (id)method __attribute__((availability(macosx,introduced=10.5))); // error: this method was available via the base class in 10.4
-  @end
-
-
-_Noreturn
----------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "","","","X"
-
-A function declared as ``_Noreturn`` shall not return to its caller. The
-compiler will generate a diagnostic for a function declared as ``_Noreturn``
-that appears to be capable of returning to its caller.
-
-
-noreturn
---------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "","X","",""
-
-A function declared as ``[[noreturn]]`` shall not return to its caller. The
-compiler will generate a diagnostic for a function declared as ``[[noreturn]]``
-that appears to be capable of returning to its caller.
-
-
-carries_dependency
-------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-The ``carries_dependency`` attribute specifies dependency propagation into and
-out of functions.
-
-When specified on a function or Objective-C method, the ``carries_dependency``
-attribute means that the return value carries a dependency out of the function, 
-so that the implementation need not constrain ordering upon return from that
-function. Implementations of the function and its caller may choose to preserve
-dependencies instead of emitting memory ordering instructions such as fences.
-
-Note, this attribute does not change the meaning of the program, but may result
-in generation of more efficient code.
-
-
-enable_if
----------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-.. Note:: Some features of this attribute are experimental. The meaning of
-  multiple enable_if attributes on a single declaration is subject to change in
-  a future version of clang. Also, the ABI is not standardized and the name
-  mangling may change in future versions. To avoid that, use asm labels.
-
-The ``enable_if`` attribute can be placed on function declarations to control
-which overload is selected based on the values of the function's arguments.
-When combined with the ``overloadable`` attribute, this feature is also
-available in C.
-
-.. code-block:: c++
-
-  int isdigit(int c);
-  int isdigit(int c) __attribute__((enable_if(c <= -1 || c > 255, "chosen when 'c' is out of range"))) __attribute__((unavailable("'c' must have the value of an unsigned char or EOF")));
-  
-  void foo(char c) {
-    isdigit(c);
-    isdigit(10);
-    isdigit(-10);  // results in a compile-time error.
-  }
-
-The enable_if attribute takes two arguments, the first is an expression written
-in terms of the function parameters, the second is a string explaining why this
-overload candidate could not be selected to be displayed in diagnostics. The
-expression is part of the function signature for the purposes of determining
-whether it is a redeclaration (following the rules used when determining
-whether a C++ template specialization is ODR-equivalent), but is not part of
-the type.
-
-The enable_if expression is evaluated as if it were the body of a
-bool-returning constexpr function declared with the arguments of the function
-it is being applied to, then called with the parameters at the callsite. If the
-result is false or could not be determined through constant expression
-evaluation, then this overload will not be chosen and the provided string may
-be used in a diagnostic if the compile fails as a result.
-
-Because the enable_if expression is an unevaluated context, there are no global
-state changes, nor the ability to pass information from the enable_if
-expression to the function body. For example, suppose we want calls to
-strnlen(strbuf, maxlen) to resolve to strnlen_chk(strbuf, maxlen, size of
-strbuf) only if the size of strbuf can be determined:
-
-.. code-block:: c++
-
-  __attribute__((always_inline))
-  static inline size_t strnlen(const char *s, size_t maxlen)
-    __attribute__((overloadable))
-    __attribute__((enable_if(__builtin_object_size(s, 0) != -1))),
-                             "chosen when the buffer size is known but 'maxlen' is not")))
-  {
-    return strnlen_chk(s, maxlen, __builtin_object_size(s, 0));
-  }
-
-Multiple enable_if attributes may be applied to a single declaration. In this
-case, the enable_if expressions are evaluated from left to right in the
-following manner. First, the candidates whose enable_if expressions evaluate to
-false or cannot be evaluated are discarded. If the remaining candidates do not
-share ODR-equivalent enable_if expressions, the overload resolution is
-ambiguous. Otherwise, enable_if overload resolution continues with the next
-enable_if attribute on the candidates that have not been discarded and have
-remaining enable_if attributes. In this way, we pick the most specific
-overload out of a number of viable overloads using enable_if.
-
-.. code-block:: c++
-
-  void f() __attribute__((enable_if(true, "")));  // #1
-  void f() __attribute__((enable_if(true, ""))) __attribute__((enable_if(true, "")));  // #2
-  
-  void g(int i, int j) __attribute__((enable_if(i, "")));  // #1
-  void g(int i, int j) __attribute__((enable_if(j, ""))) __attribute__((enable_if(true)));  // #2
-
-In this example, a call to f() is always resolved to #2, as the first enable_if
-expression is ODR-equivalent for both declarations, but #1 does not have another
-enable_if expression to continue evaluating, so the next round of evaluation has
-only a single candidate. In a call to g(1, 1), the call is ambiguous even though
-#2 has more enable_if attributes, because the first enable_if expressions are
-not ODR-equivalent.
-
-Query for this feature with ``__has_attribute(enable_if)``.
-
-
-flatten (gnu::flatten)
-----------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-The ``flatten`` attribute causes calls within the attributed function to
-be inlined unless it is impossible to do so, for example if the body of the
-callee is unavailable or if the callee has the ``noinline`` attribute.
-
-
-format (gnu::format)
---------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-Clang supports the ``format`` attribute, which indicates that the function
-accepts a ``printf`` or ``scanf``-like format string and corresponding
-arguments or a ``va_list`` that contains these arguments.
-
-Please see `GCC documentation about format attribute
-<http://gcc.gnu.org/onlinedocs/gcc/Function-Attributes.html>`_ to find details
-about attribute syntax.
-
-Clang implements two kinds of checks with this attribute.
-
-#. Clang checks that the function with the ``format`` attribute is called with
-   a format string that uses format specifiers that are allowed, and that
-   arguments match the format string.  This is the ``-Wformat`` warning, it is
-   on by default.
-
-#. Clang checks that the format string argument is a literal string.  This is
-   the ``-Wformat-nonliteral`` warning, it is off by default.
-
-   Clang implements this mostly the same way as GCC, but there is a difference
-   for functions that accept a ``va_list`` argument (for example, ``vprintf``).
-   GCC does not emit ``-Wformat-nonliteral`` warning for calls to such
-   fuctions.  Clang does not warn if the format string comes from a function
-   parameter, where the function is annotated with a compatible attribute,
-   otherwise it warns.  For example:
-
-   .. code-block:: c
-
-     __attribute__((__format__ (__scanf__, 1, 3)))
-     void foo(const char* s, char *buf, ...) {
-       va_list ap;
-       va_start(ap, buf);
-
-       vprintf(s, ap); // warning: format string is not a string literal
-     }
-
-   In this case we warn because ``s`` contains a format string for a
-   ``scanf``-like function, but it is passed to a ``printf``-like function.
-
-   If the attribute is removed, clang still warns, because the format string is
-   not a string literal.
-
-   Another example:
-
-   .. code-block:: c
-
-     __attribute__((__format__ (__printf__, 1, 3)))
-     void foo(const char* s, char *buf, ...) {
-       va_list ap;
-       va_start(ap, buf);
-
-       vprintf(s, ap); // warning
-     }
-
-   In this case Clang does not warn because the format string ``s`` and
-   the corresponding arguments are annotated.  If the arguments are
-   incorrect, the caller of ``foo`` will receive a warning.
-
-
-noduplicate (clang::noduplicate)
---------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-The ``noduplicate`` attribute can be placed on function declarations to control
-whether function calls to this function can be duplicated or not as a result of
-optimizations. This is required for the implementation of functions with
-certain special requirements, like the OpenCL "barrier" function, that might
-need to be run concurrently by all the threads that are executing in lockstep
-on the hardware. For example this attribute applied on the function
-"nodupfunc" in the code below avoids that:
-
-.. code-block:: c
-
-  void nodupfunc() __attribute__((noduplicate));
-  // Setting it as a C++11 attribute is also valid
-  // void nodupfunc() [[clang::noduplicate]];
-  void foo();
-  void bar();
-
-  nodupfunc();
-  if (a > n) {
-    foo();
-  } else {
-    bar();
-  }
-
-gets possibly modified by some optimizations into code similar to this:
-
-.. code-block:: c
-
-  if (a > n) {
-    nodupfunc();
-    foo();
-  } else {
-    nodupfunc();
-    bar();
-  }
-
-where the call to "nodupfunc" is duplicated and sunk into the two branches
-of the condition.
-
-
-no_sanitize_address (no_address_safety_analysis, gnu::no_address_safety_analysis, gnu::no_sanitize_address)
------------------------------------------------------------------------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-.. _langext-address_sanitizer:
-
-Use ``__attribute__((no_sanitize_address))`` on a function declaration to
-specify that address safety instrumentation (e.g. AddressSanitizer) should
-not be applied to that function.
-
-
-no_sanitize_memory
-------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-.. _langext-memory_sanitizer:
-
-Use ``__attribute__((no_sanitize_memory))`` on a function declaration to
-specify that checks for uninitialized memory should not be inserted 
-(e.g. by MemorySanitizer). The function may still be instrumented by the tool
-to avoid false positives in other places.
-
-
-no_sanitize_thread
-------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-.. _langext-thread_sanitizer:
-
-Use ``__attribute__((no_sanitize_thread))`` on a function declaration to
-specify that checks for data races on plain (non-atomic) memory accesses should
-not be inserted by ThreadSanitizer. The function is still instrumented by the
-tool to avoid false positives and provide meaningful stack traces.
-
-
-no_split_stack (gnu::no_split_stack)
-------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-The ``no_split_stack`` attribute disables the emission of the split stack
-preamble for a particular function. It has no effect if ``-fsplit-stack``
-is not specified.
-
-
-objc_method_family
-------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-Many methods in Objective-C have conventional meanings determined by their
-selectors. It is sometimes useful to be able to mark a method as having a
-particular conventional meaning despite not having the right selector, or as
-not having the conventional meaning that its selector would suggest. For these
-use cases, we provide an attribute to specifically describe the "method family"
-that a method belongs to.
-
-**Usage**: ``__attribute__((objc_method_family(X)))``, where ``X`` is one of
-``none``, ``alloc``, ``copy``, ``init``, ``mutableCopy``, or ``new``.  This
-attribute can only be placed at the end of a method declaration:
-
-.. code-block:: objc
-
-  - (NSString *)initMyStringValue __attribute__((objc_method_family(none)));
-
-Users who do not wish to change the conventional meaning of a method, and who
-merely want to document its non-standard retain and release semantics, should
-use the retaining behavior attributes (``ns_returns_retained``,
-``ns_returns_not_retained``, etc).
-
-Query for this feature with ``__has_attribute(objc_method_family)``.
-
-
-objc_requires_super
--------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-Some Objective-C classes allow a subclass to override a particular method in a
-parent class but expect that the overriding method also calls the overridden
-method in the parent class. For these cases, we provide an attribute to
-designate that a method requires a "call to ``super``" in the overriding
-method in the subclass.
-
-**Usage**: ``__attribute__((objc_requires_super))``.  This attribute can only
-be placed at the end of a method declaration:
-
-.. code-block:: objc
-
-  - (void)foo __attribute__((objc_requires_super));
-
-This attribute can only be applied the method declarations within a class, and
-not a protocol.  Currently this attribute does not enforce any placement of
-where the call occurs in the overriding method (such as in the case of
-``-dealloc`` where the call must appear at the end).  It checks only that it
-exists.
-
-Note that on both OS X and iOS that the Foundation framework provides a
-convenience macro ``NS_REQUIRES_SUPER`` that provides syntactic sugar for this
-attribute:
-
-.. code-block:: objc
-
-  - (void)foo NS_REQUIRES_SUPER;
-
-This macro is conditionally defined depending on the compiler's support for
-this attribute.  If the compiler does not support the attribute the macro
-expands to nothing.
-
-Operationally, when a method has this annotation the compiler will warn if the
-implementation of an override in a subclass does not call super.  For example:
-
-.. code-block:: objc
-
-   warning: method possibly missing a [super AnnotMeth] call
-   - (void) AnnotMeth{};
-                      ^
-
-
-optnone (clang::optnone)
-------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-The ``optnone`` attribute suppresses essentially all optimizations
-on a function or method, regardless of the optimization level applied to
-the compilation unit as a whole.  This is particularly useful when you
-need to debug a particular function, but it is infeasible to build the
-entire application without optimization.  Avoiding optimization on the
-specified function can improve the quality of the debugging information
-for that function.
-
-This attribute is incompatible with the ``always_inline`` attribute.
-
-
-overloadable
-------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","","",""
-
-Clang provides support for C++ function overloading in C.  Function overloading
-in C is introduced using the ``overloadable`` attribute.  For example, one
-might provide several overloaded versions of a ``tgsin`` function that invokes
-the appropriate standard function computing the sine of a value with ``float``,
-``double``, or ``long double`` precision:
-
-.. code-block:: c
-
-  #include <math.h>
-  float __attribute__((overloadable)) tgsin(float x) { return sinf(x); }
-  double __attribute__((overloadable)) tgsin(double x) { return sin(x); }
-  long double __attribute__((overloadable)) tgsin(long double x) { return sinl(x); }
-
-Given these declarations, one can call ``tgsin`` with a ``float`` value to
-receive a ``float`` result, with a ``double`` to receive a ``double`` result,
-etc.  Function overloading in C follows the rules of C++ function overloading
-to pick the best overload given the call arguments, with a few C-specific
-semantics:
-
-* Conversion from ``float`` or ``double`` to ``long double`` is ranked as a
-  floating-point promotion (per C99) rather than as a floating-point conversion
-  (as in C++).
-
-* A conversion from a pointer of type ``T*`` to a pointer of type ``U*`` is
-  considered a pointer conversion (with conversion rank) if ``T`` and ``U`` are
-  compatible types.
-
-* A conversion from type ``T`` to a value of type ``U`` is permitted if ``T``
-  and ``U`` are compatible types.  This conversion is given "conversion" rank.
-
-The declaration of ``overloadable`` functions is restricted to function
-declarations and definitions.  Most importantly, if any function with a given
-name is given the ``overloadable`` attribute, then all function declarations
-and definitions with that name (and in that scope) must have the
-``overloadable`` attribute.  This rule even applies to redeclarations of
-functions whose original declaration had the ``overloadable`` attribute, e.g.,
-
-.. code-block:: c
-
-  int f(int) __attribute__((overloadable));
-  float f(float); // error: declaration of "f" must have the "overloadable" attribute
-
-  int g(int) __attribute__((overloadable));
-  int g(int) { } // error: redeclaration of "g" must also have the "overloadable" attribute
-
-Functions marked ``overloadable`` must have prototypes.  Therefore, the
-following code is ill-formed:
-
-.. code-block:: c
-
-  int h() __attribute__((overloadable)); // error: h does not have a prototype
-
-However, ``overloadable`` functions are allowed to use a ellipsis even if there
-are no named parameters (as is permitted in C++).  This feature is particularly
-useful when combined with the ``unavailable`` attribute:
-
-.. code-block:: c++
-
-  void honeypot(...) __attribute__((overloadable, unavailable)); // calling me is an error
-
-Functions declared with the ``overloadable`` attribute have their names mangled
-according to the same rules as C++ function names.  For example, the three
-``tgsin`` functions in our motivating example get the mangled names
-``_Z5tgsinf``, ``_Z5tgsind``, and ``_Z5tgsine``, respectively.  There are two
-caveats to this use of name mangling:
-
-* Future versions of Clang may change the name mangling of functions overloaded
-  in C, so you should not depend on an specific mangling.  To be completely
-  safe, we strongly urge the use of ``static inline`` with ``overloadable``
-  functions.
-
-* The ``overloadable`` attribute has almost no meaning when used in C++,
-  because names will already be mangled and functions are already overloadable.
-  However, when an ``overloadable`` function occurs within an ``extern "C"``
-  linkage specification, it's name *will* be mangled in the same way as it
-  would in C.
-
-Query for this feature with ``__has_extension(attribute_overloadable)``.
-
-
-pcs (gnu::pcs)
---------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-On ARM targets, this can attribute can be used to select calling conventions,
-similar to ``stdcall`` on x86. Valid parameter values are "aapcs" and
-"aapcs-vfp".
-
-
-release_capability (release_shared_capability, clang::release_capability, clang::release_shared_capability)
------------------------------------------------------------------------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-Marks a function as releasing a capability.
-
-
-try_acquire_capability (try_acquire_shared_capability, clang::try_acquire_capability, clang::try_acquire_shared_capability)
----------------------------------------------------------------------------------------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-Marks a function that attempts to acquire a capability. This function may fail to
-actually acquire the capability; they accept a Boolean value determining
-whether acquiring the capability means success (true), or failing to acquire
-the capability means success (false).
-
-
-Variable Attributes
-===================
-
-
-section (gnu::section, __declspec(allocate))
---------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","X",""
-
-The ``section`` attribute allows you to specify a specific section a
-global variable or function should be in after translation.
-
-
-tls_model (gnu::tls_model)
---------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "X","X","",""
-
-The ``tls_model`` attribute allows you to specify which thread-local storage
-model to use. It accepts the following strings:
-
-* global-dynamic
-* local-dynamic
-* initial-exec
-* local-exec
-
-TLS models are mutually exclusive.
-
-
-thread
-------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "","","X",""
-
-The ``__declspec(thread)`` attribute declares a variable with thread local
-storage.  It is available under the ``-fms-extensions`` flag for MSVC
-compatibility.  Documentation for the Visual C++ attribute is available on MSDN_.
-
-.. _MSDN: http://msdn.microsoft.com/en-us/library/9w1sdazb.aspx
-
-In Clang, ``__declspec(thread)`` is generally equivalent in functionality to the
-GNU ``__thread`` keyword.  The variable must not have a destructor and must have
-a constant initializer, if any.  The attribute only applies to variables
-declared with static storage duration, such as globals, class static data
-members, and static locals.
-
-
-Type Attributes
-===============
-
-
-__single_inhertiance, __multiple_inheritance, __virtual_inheritance
--------------------------------------------------------------------
-.. csv-table:: Supported Syntaxes
-   :header: "GNU", "C++11", "__declspec", "Keyword"
-
-   "","","","X"
-
-This collection of keywords is enabled under ``-fms-extensions`` and controls
-the pointer-to-member representation used on ``*-*-win32`` targets.
-
-The ``*-*-win32`` targets utilize a pointer-to-member representation which
-varies in size and alignment depending on the definition of the underlying
-class.
-
-However, this is problematic when a forward declaration is only available and
-no definition has been made yet.  In such cases, Clang is forced to utilize the
-most general representation that is available to it.
-
-These keywords make it possible to use a pointer-to-member representation other
-than the most general one regardless of whether or not the definition will ever
-be present in the current translation unit.
-
-This family of keywords belong between the ``class-key`` and ``class-name``:
-
-.. code-block:: c++
-
-  struct __single_inheritance S;
-  int S::*i;
-  struct S {};
-
-This keyword can be applied to class templates but only has an effect when used
-on full specializations:

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


More information about the svn-src-all mailing list