svn commit: r223015 - in vendor/clang/dist: . clang.xcodeproj docs examples examples/Tooling examples/Tooling/RemoveCStrCalls examples/clang-interpreter examples/wpa include/clang-c include/clang/A...

Dimitry Andric dim at FreeBSD.org
Sun Jun 12 15:46:17 UTC 2011


Author: dim
Date: Sun Jun 12 15:46:16 2011
New Revision: 223015
URL: http://svn.freebsd.org/changeset/base/223015

Log:
  Vendor import of clang trunk r132879:
  http://llvm.org/svn/llvm-project/cfe/trunk@132879

Added:
  vendor/clang/dist/examples/Tooling/RemoveCStrCalls/
  vendor/clang/dist/test/Analysis/misc-ps-cxx0x.cpp
  vendor/clang/dist/test/Analysis/misc-ps.c
  vendor/clang/dist/test/Analysis/retain-release.mm
  vendor/clang/dist/test/CXX/class/class.mem/p5-0x.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p1.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.aggr/p1-0x.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/p14-0x.cpp
  vendor/clang/dist/test/CXX/expr/expr.const/p2-0x.cpp
  vendor/clang/dist/test/CXX/expr/expr.post/expr.call/p7-0x.cpp
  vendor/clang/dist/test/CXX/expr/expr.prim/p12-0x.cpp
  vendor/clang/dist/test/CXX/expr/expr.prim/p4-0x.cpp
  vendor/clang/dist/test/CXX/special/class.ctor/p5-0x.cpp
  vendor/clang/dist/test/CXX/special/class.dtor/p3-0x.cpp
  vendor/clang/dist/test/CXX/special/class.init/class.base.init/p8-0x.cpp
  vendor/clang/dist/test/CXX/special/class.init/class.base.init/p9-0x.cpp
  vendor/clang/dist/test/CXX/stmt.stmt/stmt.dcl/p3-0x.cpp
  vendor/clang/dist/test/CXX/stmt.stmt/stmt.dcl/p3.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/p3.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.alias/p1.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.alias/p2.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.alias/p3.cpp
  vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp
  vendor/clang/dist/test/CXX/temp/temp.param/p10-0x.cpp
  vendor/clang/dist/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/examples.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p5-example.cpp
  vendor/clang/dist/test/CXX/temp/temp.type/p1-0x.cpp
  vendor/clang/dist/test/CodeGen/arm-asm.c
  vendor/clang/dist/test/CodeGen/asm-label.c
  vendor/clang/dist/test/CodeGen/avx-cmp-builtins.c
  vendor/clang/dist/test/CodeGen/byval-memcpy-elim.c
  vendor/clang/dist/test/CodeGen/ms_struct-bitfield-1.c
  vendor/clang/dist/test/CodeGen/ms_struct-bitfield-2.c
  vendor/clang/dist/test/CodeGen/ms_struct-bitfield-3.c
  vendor/clang/dist/test/CodeGen/ms_struct-pack.c
  vendor/clang/dist/test/CodeGen/ms_struct.c
  vendor/clang/dist/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
  vendor/clang/dist/test/CodeGenCXX/cxx0x-defaulted-templates.cpp
  vendor/clang/dist/test/CodeGenCXX/debug-info-pubtypes.cpp
  vendor/clang/dist/test/CodeGenCXX/instrument-functions.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-alias-template.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-unnameable-conversions.cpp
  vendor/clang/dist/test/CodeGenCXX/member-init-ctor.cpp
  vendor/clang/dist/test/CodeGenCXX/pr9965.cpp
  vendor/clang/dist/test/CodeGenCXX/scoped-enums.cpp
  vendor/clang/dist/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
  vendor/clang/dist/test/CodeGenCXX/vararg-non-pod.cpp
  vendor/clang/dist/test/CodeGenObjC/constant-string-class-1.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-block-helper.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-blocks.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-class-extension.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-class-extension2.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-class-extension3.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-pubtypes.m
  vendor/clang/dist/test/CodeGenObjC/debug-property-synth.m
  vendor/clang/dist/test/CodeGenObjC/forward-decl-param.m
  vendor/clang/dist/test/CodeGenObjCXX/block-in-template-inst.mm
  vendor/clang/dist/test/Driver/cfi.c
  vendor/clang/dist/test/Driver/nostdlib.c
  vendor/clang/dist/test/Driver/sysroot.c
  vendor/clang/dist/test/Frontend/undef.c
  vendor/clang/dist/test/Index/Inputs/guarded.h
  vendor/clang/dist/test/Index/Inputs/pragma-once.h
  vendor/clang/dist/test/Index/nested-macro-instantiations.cpp
  vendor/clang/dist/test/Lexer/has_extension.c
  vendor/clang/dist/test/Lexer/has_extension_cxx.cpp
  vendor/clang/dist/test/Lexer/has_feature_c1x.c
  vendor/clang/dist/test/Misc/diag-format.c
  vendor/clang/dist/test/PCH/cxx-alias-decl.cpp
  vendor/clang/dist/test/PCH/cxx-alias-decl.h
  vendor/clang/dist/test/PCH/cxx-member-init.cpp
  vendor/clang/dist/test/PCH/cxx0x-default-delete.cpp
  vendor/clang/dist/test/PCH/cxx0x-delegating-ctors.cpp
  vendor/clang/dist/test/PCH/modified-header-error.c
  vendor/clang/dist/test/Parser/cxx-default-delete.cpp
  vendor/clang/dist/test/Parser/cxx-ext-delete-default.cpp
  vendor/clang/dist/test/Parser/cxx0x-member-initializers.cpp
  vendor/clang/dist/test/Parser/nested-namespaces-recovery.cpp
  vendor/clang/dist/test/Parser/opencl-astype.cl
  vendor/clang/dist/test/Sema/parentheses.cpp
  vendor/clang/dist/test/SemaCXX/PR9884.cpp
  vendor/clang/dist/test/SemaCXX/PR9902.cpp
  vendor/clang/dist/test/SemaCXX/PR9908.cpp
  vendor/clang/dist/test/SemaCXX/alias-template.cpp
  vendor/clang/dist/test/SemaCXX/cxx0x-cursory-default-delete.cpp
  vendor/clang/dist/test/SemaCXX/cxx0x-defaulted-functions.cpp
  vendor/clang/dist/test/SemaCXX/cxx0x-deleted-default-ctor.cpp
  vendor/clang/dist/test/SemaCXX/cxx0x-nontrivial-union.cpp
  vendor/clang/dist/test/SemaCXX/default-arg-special-member.cpp
  vendor/clang/dist/test/SemaCXX/defaulted-ctor-loop.cpp
  vendor/clang/dist/test/SemaCXX/dependent-noexcept-unevaluated.cpp
  vendor/clang/dist/test/SemaCXX/generalized-initializers.cpp
  vendor/clang/dist/test/SemaCXX/implicit-exception-spec.cpp
  vendor/clang/dist/test/SemaCXX/member-init.cpp
  vendor/clang/dist/test/SemaCXX/redeclared-alias-template.cpp
  vendor/clang/dist/test/SemaCXX/tag-ambig.cpp
  vendor/clang/dist/test/SemaCXX/underlying_type.cpp
  vendor/clang/dist/test/SemaCXX/warn-bad-memaccess.cpp
  vendor/clang/dist/test/SemaCXX/warn-pure-virtual-call-from-ctor-dtor.cpp
  vendor/clang/dist/test/SemaObjC/gc-attributes.m
  vendor/clang/dist/test/SemaObjC/related-result-type-inference.m
  vendor/clang/dist/test/SemaObjCXX/gc-attributes.mm
  vendor/clang/dist/test/SemaObjCXX/namespace-lookup.mm
  vendor/clang/dist/test/SemaObjCXX/nullptr.mm
  vendor/clang/dist/test/SemaObjCXX/related-result-type-inference.mm
  vendor/clang/dist/test/SemaTemplate/alias-church-numerals.cpp
  vendor/clang/dist/test/SemaTemplate/alias-nested-nontag.cpp
  vendor/clang/dist/test/SemaTemplate/alias-template-template-param.cpp
  vendor/clang/dist/test/SemaTemplate/alias-templates.cpp
  vendor/clang/dist/test/SemaTemplate/dependent-names-no-std.cpp
  vendor/clang/dist/test/SemaTemplate/rdar9173693.cpp
  vendor/clang/dist/test/Tooling/
Deleted:
  vendor/clang/dist/docs/doxygen.cfg
  vendor/clang/dist/docs/libIndex.html
  vendor/clang/dist/examples/Tooling/CMakeLists.txt
  vendor/clang/dist/examples/Tooling/ClangCheck.cpp
  vendor/clang/dist/examples/Tooling/Makefile
  vendor/clang/dist/include/clang/Tooling/Tooling.h
  vendor/clang/dist/lib/Frontend/DiagChecker.cpp
  vendor/clang/dist/lib/Tooling/CMakeLists.txt
  vendor/clang/dist/lib/Tooling/JsonCompileCommandLineDatabase.cpp
  vendor/clang/dist/lib/Tooling/JsonCompileCommandLineDatabase.h
  vendor/clang/dist/lib/Tooling/Makefile
  vendor/clang/dist/lib/Tooling/Tooling.cpp
  vendor/clang/dist/test/CodeGenObjC/unwind-fn.m
  vendor/clang/dist/test/PCH/cxx-static_assert.h
  vendor/clang/dist/test/SemaCXX/deleted-function-extension.cpp
  vendor/clang/dist/test/SemaCXX/warn-non-pod-memset.cpp
  vendor/clang/dist/unittests/Tooling/JsonCompileCommandLineDatabaseTest.cpp
  vendor/clang/dist/unittests/Tooling/ToolingTest.cpp
  vendor/clang/dist/www/CheckerNotes.html
  vendor/clang/dist/www/StaticAnalysis.html
  vendor/clang/dist/www/StaticAnalysisUsage.html
  vendor/clang/dist/www/clang-tutorial.html
  vendor/clang/dist/www/distclang_status.html
Modified:
  vendor/clang/dist/CMakeLists.txt
  vendor/clang/dist/clang.xcodeproj/project.pbxproj
  vendor/clang/dist/docs/LanguageExtensions.html
  vendor/clang/dist/docs/Makefile
  vendor/clang/dist/docs/UsersManual.html
  vendor/clang/dist/docs/doxygen.cfg.in
  vendor/clang/dist/examples/CMakeLists.txt
  vendor/clang/dist/examples/clang-interpreter/Makefile
  vendor/clang/dist/examples/clang-interpreter/main.cpp
  vendor/clang/dist/examples/wpa/Makefile
  vendor/clang/dist/include/clang-c/Index.h
  vendor/clang/dist/include/clang/AST/APValue.h
  vendor/clang/dist/include/clang/AST/ASTContext.h
  vendor/clang/dist/include/clang/AST/CanonicalType.h
  vendor/clang/dist/include/clang/AST/Decl.h
  vendor/clang/dist/include/clang/AST/DeclBase.h
  vendor/clang/dist/include/clang/AST/DeclCXX.h
  vendor/clang/dist/include/clang/AST/DeclObjC.h
  vendor/clang/dist/include/clang/AST/DeclTemplate.h
  vendor/clang/dist/include/clang/AST/Expr.h
  vendor/clang/dist/include/clang/AST/ExternalASTSource.h
  vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h
  vendor/clang/dist/include/clang/AST/StmtVisitor.h
  vendor/clang/dist/include/clang/AST/Type.h
  vendor/clang/dist/include/clang/AST/TypeLoc.h
  vendor/clang/dist/include/clang/AST/TypeNodes.def
  vendor/clang/dist/include/clang/Basic/BuiltinsARM.def
  vendor/clang/dist/include/clang/Basic/BuiltinsX86.def
  vendor/clang/dist/include/clang/Basic/DeclNodes.td
  vendor/clang/dist/include/clang/Basic/Diagnostic.h
  vendor/clang/dist/include/clang/Basic/DiagnosticCommonKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td
  vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h
  vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist/include/clang/Basic/ExceptionSpecificationType.h
  vendor/clang/dist/include/clang/Basic/IdentifierTable.h
  vendor/clang/dist/include/clang/Basic/LangOptions.h
  vendor/clang/dist/include/clang/Basic/SourceLocation.h
  vendor/clang/dist/include/clang/Basic/SourceManager.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/Basic/arm_neon.td
  vendor/clang/dist/include/clang/Driver/CC1AsOptions.td
  vendor/clang/dist/include/clang/Driver/CC1Options.td
  vendor/clang/dist/include/clang/Driver/Options.td
  vendor/clang/dist/include/clang/Driver/ToolChain.h
  vendor/clang/dist/include/clang/Frontend/ASTUnit.h
  vendor/clang/dist/include/clang/Frontend/CodeGenOptions.h
  vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h
  vendor/clang/dist/include/clang/Frontend/LangStandard.h
  vendor/clang/dist/include/clang/Frontend/LangStandards.def
  vendor/clang/dist/include/clang/Frontend/PreprocessorOptions.h
  vendor/clang/dist/include/clang/Frontend/Utils.h
  vendor/clang/dist/include/clang/Lex/HeaderSearch.h
  vendor/clang/dist/include/clang/Lex/LiteralSupport.h
  vendor/clang/dist/include/clang/Lex/PreprocessingRecord.h
  vendor/clang/dist/include/clang/Lex/Preprocessor.h
  vendor/clang/dist/include/clang/Parse/Parser.h
  vendor/clang/dist/include/clang/Sema/CodeCompleteConsumer.h
  vendor/clang/dist/include/clang/Sema/DeclSpec.h
  vendor/clang/dist/include/clang/Sema/Initialization.h
  vendor/clang/dist/include/clang/Sema/Lookup.h
  vendor/clang/dist/include/clang/Sema/Overload.h
  vendor/clang/dist/include/clang/Sema/Scope.h
  vendor/clang/dist/include/clang/Sema/Sema.h
  vendor/clang/dist/include/clang/Sema/Template.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/StaticAnalyzer/Core/Checker.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/CheckerManager.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
  vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
  vendor/clang/dist/lib/AST/APValue.cpp
  vendor/clang/dist/lib/AST/ASTContext.cpp
  vendor/clang/dist/lib/AST/ASTDiagnostic.cpp
  vendor/clang/dist/lib/AST/ASTImporter.cpp
  vendor/clang/dist/lib/AST/Decl.cpp
  vendor/clang/dist/lib/AST/DeclBase.cpp
  vendor/clang/dist/lib/AST/DeclCXX.cpp
  vendor/clang/dist/lib/AST/DeclObjC.cpp
  vendor/clang/dist/lib/AST/DeclPrinter.cpp
  vendor/clang/dist/lib/AST/DeclTemplate.cpp
  vendor/clang/dist/lib/AST/DumpXML.cpp
  vendor/clang/dist/lib/AST/Expr.cpp
  vendor/clang/dist/lib/AST/ExprClassification.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/Mangle.cpp
  vendor/clang/dist/lib/AST/MicrosoftMangle.cpp
  vendor/clang/dist/lib/AST/RecordLayoutBuilder.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/Analysis/AnalysisContext.cpp
  vendor/clang/dist/lib/Analysis/CFG.cpp
  vendor/clang/dist/lib/Analysis/CocoaConventions.cpp
  vendor/clang/dist/lib/Analysis/LiveVariables.cpp
  vendor/clang/dist/lib/Analysis/UninitializedValues.cpp
  vendor/clang/dist/lib/Basic/Diagnostic.cpp
  vendor/clang/dist/lib/Basic/DiagnosticIDs.cpp
  vendor/clang/dist/lib/Basic/FileManager.cpp
  vendor/clang/dist/lib/Basic/IdentifierTable.cpp
  vendor/clang/dist/lib/Basic/SourceManager.cpp
  vendor/clang/dist/lib/Basic/Targets.cpp
  vendor/clang/dist/lib/CMakeLists.txt
  vendor/clang/dist/lib/CodeGen/BackendUtil.cpp
  vendor/clang/dist/lib/CodeGen/CGBlocks.cpp
  vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp
  vendor/clang/dist/lib/CodeGen/CGCXX.cpp
  vendor/clang/dist/lib/CodeGen/CGCall.cpp
  vendor/clang/dist/lib/CodeGen/CGCall.h
  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/CGDeclCXX.cpp
  vendor/clang/dist/lib/CodeGen/CGException.cpp
  vendor/clang/dist/lib/CodeGen/CGExpr.cpp
  vendor/clang/dist/lib/CodeGen/CGExprAgg.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/CGObjCGNU.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCRuntime.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCRuntime.h
  vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp
  vendor/clang/dist/lib/CodeGen/CGStmt.cpp
  vendor/clang/dist/lib/CodeGen/CGVTT.cpp
  vendor/clang/dist/lib/CodeGen/CGVTables.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/CodeGenTypes.h
  vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp
  vendor/clang/dist/lib/CodeGen/ModuleBuilder.cpp
  vendor/clang/dist/lib/CodeGen/TargetInfo.cpp
  vendor/clang/dist/lib/Driver/Driver.cpp
  vendor/clang/dist/lib/Driver/HostInfo.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/Frontend/ASTConsumers.cpp
  vendor/clang/dist/lib/Frontend/ASTUnit.cpp
  vendor/clang/dist/lib/Frontend/CMakeLists.txt
  vendor/clang/dist/lib/Frontend/CompilerInstance.cpp
  vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
  vendor/clang/dist/lib/Frontend/CreateInvocationFromCommandLine.cpp
  vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp
  vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp
  vendor/clang/dist/lib/Frontend/LogDiagnosticPrinter.cpp
  vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp
  vendor/clang/dist/lib/Frontend/Warnings.cpp
  vendor/clang/dist/lib/Headers/emmintrin.h
  vendor/clang/dist/lib/Headers/mmintrin.h
  vendor/clang/dist/lib/Headers/xmmintrin.h
  vendor/clang/dist/lib/Index/CallGraph.cpp
  vendor/clang/dist/lib/Index/Indexer.cpp
  vendor/clang/dist/lib/Lex/HeaderSearch.cpp
  vendor/clang/dist/lib/Lex/Lexer.cpp
  vendor/clang/dist/lib/Lex/LiteralSupport.cpp
  vendor/clang/dist/lib/Lex/MacroInfo.cpp
  vendor/clang/dist/lib/Lex/PPDirectives.cpp
  vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp
  vendor/clang/dist/lib/Lex/Pragma.cpp
  vendor/clang/dist/lib/Lex/PreprocessingRecord.cpp
  vendor/clang/dist/lib/Lex/Preprocessor.cpp
  vendor/clang/dist/lib/Makefile
  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/ParsePragma.cpp
  vendor/clang/dist/lib/Parse/ParseStmt.cpp
  vendor/clang/dist/lib/Parse/ParseTemplate.cpp
  vendor/clang/dist/lib/Parse/ParseTentative.cpp
  vendor/clang/dist/lib/Parse/Parser.cpp
  vendor/clang/dist/lib/Rewrite/RewriteObjC.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/SemaAccess.cpp
  vendor/clang/dist/lib/Sema/SemaCXXCast.cpp
  vendor/clang/dist/lib/Sema/SemaCXXScopeSpec.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/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/SemaLookup.cpp
  vendor/clang/dist/lib/Sema/SemaOverload.cpp
  vendor/clang/dist/lib/Sema/SemaStmt.cpp
  vendor/clang/dist/lib/Sema/SemaTemplate.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/SemaTemplateVariadic.cpp
  vendor/clang/dist/lib/Sema/SemaType.cpp
  vendor/clang/dist/lib/Sema/TreeTransform.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/ASTWriterDecl.cpp
  vendor/clang/dist/lib/Serialization/ASTWriterStmt.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/BasicStore.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/CFRefCount.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/CXXExprEngine.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerManager.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/Environment.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngine.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/FlatStore.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/GRState.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/ObjCMessage.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/RegionStore.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
  vendor/clang/dist/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  vendor/clang/dist/test/Analysis/CFNumber.c
  vendor/clang/dist/test/Analysis/bstring.c
  vendor/clang/dist/test/Analysis/misc-ps-region-store.cpp
  vendor/clang/dist/test/Analysis/misc-ps-region-store.m
  vendor/clang/dist/test/Analysis/misc-ps.m
  vendor/clang/dist/test/Analysis/plist-output-alternate.m
  vendor/clang/dist/test/Analysis/retain-release.m
  vendor/clang/dist/test/Analysis/string.c
  vendor/clang/dist/test/CMakeLists.txt
  vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp
  vendor/clang/dist/test/CXX/class.access/class.friend/p2-cxx03.cpp
  vendor/clang/dist/test/CXX/class.access/p4.cpp
  vendor/clang/dist/test/CXX/class/class.friend/p2.cpp
  vendor/clang/dist/test/CXX/class/class.mem/p1b.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.def/p7.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/p6.cpp
  vendor/clang/dist/test/CXX/except/except.spec/p1.cpp
  vendor/clang/dist/test/CXX/except/except.spec/p14.cpp
  vendor/clang/dist/test/CXX/except/except.spec/p9-dynamic.cpp
  vendor/clang/dist/test/CXX/expr/expr.unary/expr.unary.noexcept/sema.cpp
  vendor/clang/dist/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.friend/p3.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.variadic/ext-blocks.cpp
  vendor/clang/dist/test/CXX/temp/temp.param/p11-0x.cpp
  vendor/clang/dist/test/CXX/temp/temp.param/p9-0x.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p15.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p2.cpp
  vendor/clang/dist/test/CodeGen/2009-10-20-GlobalDebug.c
  vendor/clang/dist/test/CodeGen/altivec.c
  vendor/clang/dist/test/CodeGen/asm-errors.c
  vendor/clang/dist/test/CodeGen/available-externally-suppress.c
  vendor/clang/dist/test/CodeGen/builtins-ppc-altivec.c
  vendor/clang/dist/test/CodeGen/builtins-x86.c
  vendor/clang/dist/test/CodeGen/builtinshufflevector.c
  vendor/clang/dist/test/CodeGen/debug-info-crash.c
  vendor/clang/dist/test/CodeGen/debug-info.c
  vendor/clang/dist/test/CodeGen/decl.c
  vendor/clang/dist/test/CodeGen/ext-vector.c
  vendor/clang/dist/test/CodeGen/extern-inline.c
  vendor/clang/dist/test/CodeGen/frame-pointer-elim.c
  vendor/clang/dist/test/CodeGen/inline.c
  vendor/clang/dist/test/CodeGen/mmx-builtins.c
  vendor/clang/dist/test/CodeGen/packed-arrays.c
  vendor/clang/dist/test/CodeGen/packed-structure.c
  vendor/clang/dist/test/CodeGen/palignr.c
  vendor/clang/dist/test/CodeGen/string-literal-short-wstring.c
  vendor/clang/dist/test/CodeGen/string-literal.c
  vendor/clang/dist/test/CodeGen/struct-passing.c
  vendor/clang/dist/test/CodeGen/transparent-union.c
  vendor/clang/dist/test/CodeGen/x86_32-arguments-darwin.c
  vendor/clang/dist/test/CodeGen/x86_32-arguments-linux.c
  vendor/clang/dist/test/CodeGen/x86_64-arguments.c
  vendor/clang/dist/test/CodeGenCXX/PR5050-constructor-conversion.cpp
  vendor/clang/dist/test/CodeGenCXX/arm.cpp
  vendor/clang/dist/test/CodeGenCXX/array-construction.cpp
  vendor/clang/dist/test/CodeGenCXX/array-operator-delete-call.cpp
  vendor/clang/dist/test/CodeGenCXX/call-arg-zero-temp.cpp
  vendor/clang/dist/test/CodeGenCXX/cast-conversion.cpp
  vendor/clang/dist/test/CodeGenCXX/constructor-conversion.cpp
  vendor/clang/dist/test/CodeGenCXX/constructor-default-arg.cpp
  vendor/clang/dist/test/CodeGenCXX/constructor-for-array-members.cpp
  vendor/clang/dist/test/CodeGenCXX/constructor-template.cpp
  vendor/clang/dist/test/CodeGenCXX/convert-to-fptr.cpp
  vendor/clang/dist/test/CodeGenCXX/copy-assign-synthesis-1.cpp
  vendor/clang/dist/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
  vendor/clang/dist/test/CodeGenCXX/decl-ref-init.cpp
  vendor/clang/dist/test/CodeGenCXX/default-constructor-for-members.cpp
  vendor/clang/dist/test/CodeGenCXX/derived-to-base-conv.cpp
  vendor/clang/dist/test/CodeGenCXX/destructors.cpp
  vendor/clang/dist/test/CodeGenCXX/eh.cpp
  vendor/clang/dist/test/CodeGenCXX/exceptions.cpp
  vendor/clang/dist/test/CodeGenCXX/global-array-destruction.cpp
  vendor/clang/dist/test/CodeGenCXX/global-llvm-constant.cpp
  vendor/clang/dist/test/CodeGenCXX/goto.cpp
  vendor/clang/dist/test/CodeGenCXX/internal-linkage.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-exprs.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-subst-std.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle.cpp
  vendor/clang/dist/test/CodeGenCXX/new.cpp
  vendor/clang/dist/test/CodeGenCXX/nrvo.cpp
  vendor/clang/dist/test/CodeGenCXX/ptr-to-member-function.cpp
  vendor/clang/dist/test/CodeGenCXX/static-init-2.cpp
  vendor/clang/dist/test/CodeGenCXX/template-instantiation.cpp
  vendor/clang/dist/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
  vendor/clang/dist/test/CodeGenCXX/thunks.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-base-destructor-call.cpp
  vendor/clang/dist/test/CodeGenCXX/x86_32-arguments.cpp
  vendor/clang/dist/test/CodeGenObjC/bitfield-ivar-offsets.m
  vendor/clang/dist/test/CodeGenObjC/blocks-2.m
  vendor/clang/dist/test/CodeGenObjC/constant-string-class.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-crash.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-getter-name.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-static-var.m
  vendor/clang/dist/test/CodeGenObjC/encode-test.m
  vendor/clang/dist/test/CodeGenObjC/instance-method-metadata.m
  vendor/clang/dist/test/CodeGenObjC/interface-layout-64.m
  vendor/clang/dist/test/CodeGenObjC/ivar-layout-array0-struct.m
  vendor/clang/dist/test/CodeGenObjC/ivar-layout-no-optimize.m
  vendor/clang/dist/test/CodeGenObjC/messages-2.m
  vendor/clang/dist/test/CodeGenObjC/metadata-symbols-64.m
  vendor/clang/dist/test/CodeGenObjC/no-vararg-messaging.m
  vendor/clang/dist/test/CodeGenObjC/objc-read-weak-byref.m
  vendor/clang/dist/test/CodeGenObjC/protocol-in-extended-class.m
  vendor/clang/dist/test/CodeGenObjC/try.m
  vendor/clang/dist/test/CodeGenObjCXX/blocks.mm
  vendor/clang/dist/test/CodeGenObjCXX/encode.mm
  vendor/clang/dist/test/CodeGenObjCXX/mangle.mm
  vendor/clang/dist/test/CodeGenObjCXX/property-object-conditional-exp.mm
  vendor/clang/dist/test/Driver/cc-log-diagnostics.c
  vendor/clang/dist/test/Driver/darwin-debug-flags.c
  vendor/clang/dist/test/Driver/darwin-ld.c
  vendor/clang/dist/test/Driver/rewrite-objc.m
  vendor/clang/dist/test/FixIt/fixit-cxx0x.cpp
  vendor/clang/dist/test/Frontend/diagnostic-name.c
  vendor/clang/dist/test/Frontend/ir-support-codegen.ll
  vendor/clang/dist/test/Index/annotate-context-sensitive.cpp
  vendor/clang/dist/test/Index/annotate-tokens-pp.c
  vendor/clang/dist/test/Index/annotate-tokens.m
  vendor/clang/dist/test/Index/complete-kvc.m
  vendor/clang/dist/test/Index/complete-member-access.m
  vendor/clang/dist/test/Index/complete-property-flags.m
  vendor/clang/dist/test/Index/overrides.cpp
  vendor/clang/dist/test/Index/properties-class-extensions.m
  vendor/clang/dist/test/Index/recursive-cxx-member-calls.cpp
  vendor/clang/dist/test/Index/usrs.cpp
  vendor/clang/dist/test/Index/usrs.m
  vendor/clang/dist/test/Lexer/block_cmt_end.c
  vendor/clang/dist/test/Lexer/has_feature_cxx0x.cpp
  vendor/clang/dist/test/Lexer/has_feature_type_traits.cpp
  vendor/clang/dist/test/Misc/Inputs/include.h
  vendor/clang/dist/test/Misc/include-stack-for-note-flag.cpp
  vendor/clang/dist/test/PCH/cxx-for-range.cpp
  vendor/clang/dist/test/PCH/cxx-reference.cpp
  vendor/clang/dist/test/PCH/cxx-static_assert.cpp
  vendor/clang/dist/test/PCH/objc_methods.h
  vendor/clang/dist/test/PCH/objc_methods.m
  vendor/clang/dist/test/PCH/objcxx-ivar-class.mm
  vendor/clang/dist/test/Parser/MicrosoftExtensions.cpp
  vendor/clang/dist/test/Parser/cxx-friend.cpp
  vendor/clang/dist/test/Preprocessor/if_warning.c
  vendor/clang/dist/test/Preprocessor/pragma_sysheader.c
  vendor/clang/dist/test/Sema/MicrosoftExtensions.c
  vendor/clang/dist/test/Sema/arm-neon-types.c
  vendor/clang/dist/test/Sema/asm.c
  vendor/clang/dist/test/Sema/attr-unknown.c
  vendor/clang/dist/test/Sema/builtins-arm.c
  vendor/clang/dist/test/Sema/carbon.c
  vendor/clang/dist/test/Sema/exprs.c
  vendor/clang/dist/test/Sema/illegal-types.c
  vendor/clang/dist/test/Sema/parentheses.c
  vendor/clang/dist/test/Sema/stdcall-fastcall.c
  vendor/clang/dist/test/Sema/uninit-variables.c
  vendor/clang/dist/test/Sema/x86-builtin-palignr.c
  vendor/clang/dist/test/SemaCXX/MicrosoftExtensions.cpp
  vendor/clang/dist/test/SemaCXX/PR9572.cpp
  vendor/clang/dist/test/SemaCXX/aggregate-initialization.cpp
  vendor/clang/dist/test/SemaCXX/anonymous-union.cpp
  vendor/clang/dist/test/SemaCXX/attr-cxx0x.cpp
  vendor/clang/dist/test/SemaCXX/attr-noreturn.cpp
  vendor/clang/dist/test/SemaCXX/attr-regparm.cpp
  vendor/clang/dist/test/SemaCXX/class.cpp
  vendor/clang/dist/test/SemaCXX/conversion.cpp
  vendor/clang/dist/test/SemaCXX/copy-constructor-error.cpp
  vendor/clang/dist/test/SemaCXX/cxx0x-delegating-ctors.cpp
  vendor/clang/dist/test/SemaCXX/default-constructor-initializers.cpp
  vendor/clang/dist/test/SemaCXX/deleted-function.cpp
  vendor/clang/dist/test/SemaCXX/dependent-types.cpp
  vendor/clang/dist/test/SemaCXX/destructor.cpp
  vendor/clang/dist/test/SemaCXX/enum-scoped.cpp
  vendor/clang/dist/test/SemaCXX/expressions.cpp
  vendor/clang/dist/test/SemaCXX/implicit-member-functions.cpp
  vendor/clang/dist/test/SemaCXX/member-expr.cpp
  vendor/clang/dist/test/SemaCXX/member-pointer.cpp
  vendor/clang/dist/test/SemaCXX/nullptr.cpp
  vendor/clang/dist/test/SemaCXX/overload-call.cpp
  vendor/clang/dist/test/SemaCXX/overloaded-operator.cpp
  vendor/clang/dist/test/SemaCXX/reinterpret-cast.cpp
  vendor/clang/dist/test/SemaCXX/return.cpp
  vendor/clang/dist/test/SemaCXX/struct-class-redecl.cpp
  vendor/clang/dist/test/SemaCXX/switch.cpp
  vendor/clang/dist/test/SemaCXX/type-traits.cpp
  vendor/clang/dist/test/SemaCXX/value-initialization.cpp
  vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp
  vendor/clang/dist/test/SemaCXX/vtable-instantiation.cc
  vendor/clang/dist/test/SemaObjC/exprs.m
  vendor/clang/dist/test/SemaObjC/objc2-warn-weak-decl.m
  vendor/clang/dist/test/SemaObjCXX/blocks.mm
  vendor/clang/dist/test/SemaObjCXX/overload-gc.mm
  vendor/clang/dist/test/SemaObjCXX/overload.mm
  vendor/clang/dist/test/SemaTemplate/deduction-crash.cpp
  vendor/clang/dist/test/SemaTemplate/dependent-names.cpp
  vendor/clang/dist/test/SemaTemplate/friend-template.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-call.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-function-1.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-init.cpp
  vendor/clang/dist/test/SemaTemplate/partial-spec-instantiate.cpp
  vendor/clang/dist/test/SemaTemplate/typename-specifier.cpp
  vendor/clang/dist/test/lit.cfg
  vendor/clang/dist/tools/c-index-test/c-index-test.c
  vendor/clang/dist/tools/driver/cc1as_main.cpp
  vendor/clang/dist/tools/libclang/CIndex.cpp
  vendor/clang/dist/tools/libclang/CIndexCodeCompletion.cpp
  vendor/clang/dist/tools/libclang/CIndexDiagnostic.cpp
  vendor/clang/dist/tools/libclang/CIndexUSRs.cpp
  vendor/clang/dist/tools/libclang/CIndexer.h
  vendor/clang/dist/tools/libclang/CXCursor.cpp
  vendor/clang/dist/tools/libclang/CXType.cpp
  vendor/clang/dist/tools/libclang/libclang.darwin.exports
  vendor/clang/dist/tools/libclang/libclang.exports
  vendor/clang/dist/unittests/CMakeLists.txt
  vendor/clang/dist/www/analyzer/latest_checker.html.incl
  vendor/clang/dist/www/analyzer/release_notes.html
  vendor/clang/dist/www/comparison.html
  vendor/clang/dist/www/compatibility.html
  vendor/clang/dist/www/cxx_status.html
  vendor/clang/dist/www/diagnostics.html
  vendor/clang/dist/www/features.html
  vendor/clang/dist/www/libstdc++4.4-clang0x.patch

Modified: vendor/clang/dist/CMakeLists.txt
==============================================================================
--- vendor/clang/dist/CMakeLists.txt	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/CMakeLists.txt	Sun Jun 12 15:46:16 2011	(r223015)
@@ -57,6 +57,13 @@ set(CLANG_RESOURCE_DIR "" CACHE STRING
 set(C_INCLUDE_DIRS "" CACHE STRING
   "Colon separated list of directories clang will search for headers.")
 
+set(CLANG_VENDOR "" CACHE STRING
+  "Vendor-specific text for showing with version information.")
+
+if( CLANG_VENDOR )
+  add_definitions( -DCLANG_VENDOR="${CLANG_VENDOR} " )
+endif()
+
 set(CLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
 set(CLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
 
@@ -103,7 +110,7 @@ configure_file(
   ${CMAKE_CURRENT_BINARY_DIR}/include/clang/Basic/Version.inc)
 
 # Add appropriate flags for GCC
-if (CMAKE_COMPILER_IS_GNUCXX)
+if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings")
 endif ()
 

Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj
==============================================================================
--- vendor/clang/dist/clang.xcodeproj/project.pbxproj	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/clang.xcodeproj/project.pbxproj	Sun Jun 12 15:46:16 2011	(r223015)
@@ -6,6 +6,12 @@
 	objectVersion = 42;
 	objects = {
 
+/* Begin PBXBuildFile section */
+		BD6B0EDF13A1824C00B8E3FE /* Mangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD6B0EDE13A1824C00B8E3FE /* Mangle.cpp */; };
+		BD6B0EE213A182A600B8E3FE /* ItaniumMangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD6B0EE113A182A600B8E3FE /* ItaniumMangle.cpp */; };
+		BD6B0EE413A182DA00B8E3FE /* MicrosoftMangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD6B0EE313A182DA00B8E3FE /* MicrosoftMangle.cpp */; };
+/* End PBXBuildFile section */
+
 /* Begin PBXCopyFilesBuildPhase section */
 		8DD76F690486A84900D96B5E /* CopyFiles */ = {
 			isa = PBXCopyFilesBuildPhase;
@@ -472,6 +478,9 @@
 		BD59A952121496B9003A5A02 /* SemaConsumer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SemaConsumer.h; path = clang/Sema/SemaConsumer.h; sourceTree = "<group>"; };
 		BD59A953121496B9003A5A02 /* SemaDiagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SemaDiagnostic.h; path = clang/Sema/SemaDiagnostic.h; sourceTree = "<group>"; };
 		BD59A954121496B9003A5A02 /* Template.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Template.h; path = clang/Sema/Template.h; sourceTree = "<group>"; };
+		BD6B0EDE13A1824C00B8E3FE /* Mangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mangle.cpp; sourceTree = "<group>"; };
+		BD6B0EE113A182A600B8E3FE /* ItaniumMangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ItaniumMangle.cpp; sourceTree = "<group>"; };
+		BD6B0EE313A182DA00B8E3FE /* MicrosoftMangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MicrosoftMangle.cpp; sourceTree = "<group>"; };
 		BDF87CF60FD746F300BBF872 /* SemaTemplateDeduction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplateDeduction.cpp; path = lib/Sema/SemaTemplateDeduction.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		BF89C3E111595818001C2D68 /* AnalysisBasedWarnings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnalysisBasedWarnings.cpp; path = lib/Sema/AnalysisBasedWarnings.cpp; sourceTree = "<group>"; };
 		BF89C3E5115958A1001C2D68 /* TargetAttributesSema.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetAttributesSema.h; path = lib/Sema/TargetAttributesSema.h; sourceTree = "<group>"; };
@@ -1514,6 +1523,9 @@
 		DEC8D9920A9433F400353FCA /* AST */ = {
 			isa = PBXGroup;
 			children = (
+				BD6B0EDE13A1824C00B8E3FE /* Mangle.cpp */,
+				BD6B0EE313A182DA00B8E3FE /* MicrosoftMangle.cpp */,
+				BD6B0EE113A182A600B8E3FE /* ItaniumMangle.cpp */,
 				BF9FEE051225E770003A8B71 /* MicrosoftCXXABI.cpp */,
 				BF9FEE031225E759003A8B71 /* ItaniumCXXABI.cpp */,
 				BF9FEE011225E73F003A8B71 /* ExprClassification.cpp */,
@@ -1900,6 +1912,9 @@
 			isa = PBXSourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
+				BD6B0EDF13A1824C00B8E3FE /* Mangle.cpp in Sources */,
+				BD6B0EE213A182A600B8E3FE /* ItaniumMangle.cpp in Sources */,
+				BD6B0EE413A182DA00B8E3FE /* MicrosoftMangle.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

Modified: vendor/clang/dist/docs/LanguageExtensions.html
==============================================================================
--- vendor/clang/dist/docs/LanguageExtensions.html	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/docs/LanguageExtensions.html	Sun Jun 12 15:46:16 2011	(r223015)
@@ -32,28 +32,42 @@ td {
   </ul>
 <li><a href="#checking_upcoming_features">Checks for Upcoming Standard Language Features</a></li>
   <ul>
-  <li><a href="#cxx_attributes">C++0x attributes</a></li>
-  <li><a href="#cxx_decltype">C++0x <tt>decltype()</tt></a></li>
-  <li><a href="#cxx_default_function_template_args">C++0x default template arguments in function templates</a></li>
-  <li><a href="#cxx_deleted_functions">C++0x deleted functions</a></li>
-  <li><a href="#cxx_lambdas">C++0x lambdas</a></li>
-  <li><a href="#cxx_nullptr">C++0x nullptr</a></li>
-  <li><a href="#cxx_override_control">C++0x override control</a></li>
-  <li><a href="#cxx_range_for">C++0x range-based for loop</a></li>
-  <li><a href="#cxx_rvalue_references">C++0x rvalue references</a></li>
-  <li><a href="#cxx_reference_qualified_functions">C++0x reference-qualified functions</a></li>
-  <li><a href="#cxx_static_assert">C++0x <tt>static_assert()</tt></a></li>
-  <li><a href="#cxx_auto_type">C++0x type inference</a></li>
-  <li><a href="#cxx_variadic_templates">C++0x variadic templates</a></li>
-  <li><a href="#cxx_inline_namespaces">C++0x inline namespaces</a></li>
-  <li><a href="#cxx_strong_enums">C++0x strongly-typed enumerations</a></li>
-  <li><a href="#cxx_trailing_return">C++0x trailing return type</a></li>
-  <li><a href="#cxx_noexcept">C++0x noexcept specification</a></li>
+  <li><a href="#cxx0x">C++0x</a>
+    <ul>
+    <li><a href="#cxx_decltype">C++0x <tt>decltype()</tt></a></li>
+    <li><a href="#cxx_access_control_sfinae">C++0x SFINAE includes access control</a></li>
+    <li><a href="#cxx_alias_templates">C++0x alias templates</a></li>
+    <li><a href="#cxx_attributes">C++0x attributes</a></li>
+    <li><a href="#cxx_default_function_template_args">C++0x default template arguments in function templates</a></li>
+    <li><a href="#cxx_deleted_functions">C++0x deleted functions</a></li>
+    <li><a href="#cxx_lambdas">C++0x lambdas</a></li>
+    <li><a href="#cxx_nullptr">C++0x nullptr</a></li>
+    <li><a href="#cxx_override_control">C++0x override control</a></li>
+    <li><a href="#cxx_range_for">C++0x range-based for loop</a></li>
+    <li><a href="#cxx_rvalue_references">C++0x rvalue references</a></li>
+    <li><a href="#cxx_reference_qualified_functions">C++0x reference-qualified functions</a></li>
+    <li><a href="#cxx_static_assert">C++0x <tt>static_assert()</tt></a></li>
+    <li><a href="#cxx_auto_type">C++0x type inference</a></li>
+    <li><a href="#cxx_variadic_templates">C++0x variadic templates</a></li>
+    <li><a href="#cxx_inline_namespaces">C++0x inline namespaces</a></li>
+    <li><a href="#cxx_strong_enums">C++0x strongly-typed enumerations</a></li>
+    <li><a href="#cxx_trailing_return">C++0x trailing return type</a></li>
+    <li><a href="#cxx_noexcept">C++0x noexcept specification</a></li>
+    </ul>
+  <li><a href="#c1x">C1X</a>
+    <ul>
+    <li><a href="#c_generic_selections">C1X generic selections</a></li>
+    <li><a href="#c_static_assert">C1X <tt>_Static_assert()</tt></a></li>
+    </ul>
   </ul>
 <li><a href="#checking_type_traits">Checks for Type Traits</a></li>
 <li><a href="#blocks">Blocks</a></li>
+<li><a href="#objc_features">Objective-C Features</a>
+  <ul>
+    <li><a href="#objc_instancetype">Related result types</a></li>
+  </ul>
+</li>
 <li><a href="#overloading-in-c">Function Overloading in C</a></li>
-<li><a href="#generic-selections">Generic Selections</a></li>
 <li><a href="#builtins">Builtin Functions</a>
   <ul>
   <li><a href="#__builtin_shufflevector">__builtin_shufflevector</a></li>
@@ -115,28 +129,48 @@ not.  It can be used like this:</p>
 
 
 <!-- ======================================================================= -->
-<h3 id="__has_feature">__has_feature</h3>
+<h3 id="__has_feature_extension">__has_feature and __has_extension</h3>
 <!-- ======================================================================= -->
 
-<p>This function-like macro takes a single identifier argument that is the name
-of a feature.  It evaluates to 1 if the feature is supported or 0 if not.  It
-can be used like this:</p>
+<p>These function-like macros take a single identifier argument that is the
+name of a feature.  <code>__has_feature</code> evaluates to 1 if the feature
+is both supported by Clang and standardized in the current language standard
+or 0 if not (but see <a href="#has_feature_back_compat">below</a>), while
+<code>__has_extension</code> evaluates to 1 if the feature is supported by
+Clang in the current language (either as a language extension or a standard
+language feature) or 0 if not.  They can be used like this:</p>
 
 <blockquote>
 <pre>
 #ifndef __has_feature         // Optional of course.
   #define __has_feature(x) 0  // Compatibility with non-clang compilers.
 #endif
+#ifndef __has_extension
+  #define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
+#endif
 
 ...
-#if __has_feature(attribute_overloadable) || \
-    __has_feature(blocks)
-...
+#if __has_feature(cxx_rvalue_references)
+// This code will only be compiled with the -std=c++0x and -std=gnu++0x
+// options, because rvalue references are only standardized in C++0x.
+#endif
+
+#if __has_extension(cxx_rvalue_references)
+// This code will be compiled with the -std=c++0x, -std=gnu++0x, -std=c++98
+// and -std=gnu++98 options, because rvalue references are supported as a
+// language extension in C++98.
 #endif
-...
 </pre>
 </blockquote>
 
+<p id="has_feature_back_compat">For backwards compatibility reasons,
+<code>__has_feature</code> can also be used to test for support for
+non-standardized features, i.e. features not prefixed <code>c_</code>,
+<code>cxx_</code> or <code>objc_</code>.</p>
+
+<p>If the <code>-pedantic-errors</code> option is given,
+<code>__has_extension</code> is equivalent to <code>__has_feature</code>.</p>
+
 <p>The feature tag is described along with the language feature below.</p>
 
 <!-- ======================================================================= -->
@@ -293,7 +327,7 @@ float4 foo(float2 a, float2 b) {
 </pre>
 </blockquote>
 
-<p>Query for this feature with __has_feature(attribute_ext_vector_type).</p>
+<p>Query for this feature with __has_extension(attribute_ext_vector_type).</p>
 
 <p>See also <a href="#__builtin_shufflevector">__builtin_shufflevector</a>.</p>
 
@@ -318,8 +352,8 @@ will be incorporated into the appropriat
 </blockquote>
 
 <p>Query for this feature
-with <tt>__has_feature(attribute_deprecated_with_message)</tt>
-and <tt>__has_feature(attribute_unavailable_with_message)</tt>.</p>
+with <tt>__has_extension(attribute_deprecated_with_message)</tt>
+and <tt>__has_extension(attribute_unavailable_with_message)</tt>.</p>
 
 <!-- ======================================================================= -->
 <h2 id="attributes-on-enumerators">Attributes on Enumerators</h2>
@@ -342,7 +376,7 @@ initializer, like so:</p>
 <p>Attributes on the <tt>enum</tt> declaration do not apply to
 individual enumerators.</p>
 
-<p>Query for this feature with <tt>__has_feature(enumerator_attributes)</tt>.</p>
+<p>Query for this feature with <tt>__has_extension(enumerator_attributes)</tt>.</p>
 
 <!-- ======================================================================= -->
 <h2 id="checking_language_features">Checks for Standard Language Features</h2>
@@ -365,106 +399,165 @@ compiling code with <tt>-fno-rtti</tt> d
 <h2 id="checking_upcoming_features">Checks for Upcoming Standard Language Features</h2>
 <!-- ======================================================================= -->
 
-<p>The <tt>__has_feature</tt> macro can be used to query if certain upcoming
-standard language features are enabled.  Those features are listed here.</p>
+<p>The <tt>__has_feature</tt> or <tt>__has_extension</tt> macros can be used
+to query if certain upcoming standard language features are enabled.  Those
+features are listed here.  Features that are not yet implemented will be
+noted.</p>
 
-<p>Currently, all features listed here are slated for inclusion in the upcoming
-C++0x standard. As a result, all the features that clang supports are enabled
-with the <tt>-std=c++0x</tt> option when compiling C++ code. Features that are
-not yet implemented will be noted.</p>
+<h3 id="cxx0x">C++0x</h3>
 
-<h3 id="cxx_decltype">C++0x <tt>decltype()</tt></h3>
+<p>The features listed below are slated for inclusion in the upcoming
+C++0x standard. As a result, all these features are enabled
+with the <tt>-std=c++0x</tt> option when compiling C++ code.</p>
 
-<p>Use <tt>__has_feature(cxx_decltype)</tt> to determine if support for the
+<h4 id="cxx_decltype">C++0x <tt>decltype()</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_decltype)</tt> or
+<tt>__has_extension(cxx_decltype)</tt> to determine if support for the
 <tt>decltype()</tt> specifier is enabled.</p>
 
-<h3 id="cxx_attributes">C++0x attributes</h3>
+<h4 id="cxx_access_control_sfinae">C++0x SFINAE includes access control</h3>
 
-<p>Use <tt>__has_feature(cxx_attributes)</tt> to determine if support for
-attribute parsing with C++0x's square bracket notation is enabled.</p>
+<p>Use <tt>__has_feature(cxx_access_control_sfinae)</tt> or <tt>__has_extension(cxx_access_control_sfinae)</tt> to determine whether access-control errors (e.g., calling a private constructor) are considered to be template argument deduction errors (aka SFINAE errors), per <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1170">C++ DR1170</a>.</p>
 
-<h3 id="cxx_default_function_template_args">C++0x default template arguments in function templates</h3>
+<h4 id="cxx_alias_templates">C++0x alias templates</h3>
 
-<p>Use <tt>__has_feature(cxx_default_function_template_args)</tt> to determine if support for default template arguments in function templates is enabled.</p>
+<p>Use <tt>__has_feature(cxx_alias_templates)</tt> or
+<tt>__has_extension(cxx_alias_templates)</tt> to determine if support for
+C++0x's alias declarations and alias templates is enabled.</p>
 
-<h3 id="cxx_deleted_functions">C++0x deleted functions</tt></h3>
+<h4 id="cxx_attributes">C++0x attributes</h3>
 
-<p>Use <tt>__has_feature(cxx_deleted_functions)</tt> to determine if support for
-deleted function definitions (with <tt>= delete</tt>) is enabled.</p>
+<p>Use <tt>__has_feature(cxx_attributes)</tt> or
+<tt>__has_extension(cxx_attributes)</tt> to determine if support for attribute
+parsing with C++0x's square bracket notation is enabled.</p>
 
-<h3 id="cxx_lambdas">C++0x lambdas</h3>
+<h4 id="cxx_default_function_template_args">C++0x default template arguments in function templates</h3>
 
-<p>Use <tt>__has_feature(cxx_lambdas)</tt> to determine if support for
-lambdas is enabled. clang does not currently implement this feature.</p>
+<p>Use <tt>__has_feature(cxx_default_function_template_args)</tt> or
+<tt>__has_extension(cxx_default_function_template_args)</tt> to determine
+if support for default template arguments in function templates is enabled.</p>
 
-<h3 id="cxx_nullptr">C++0x <tt>nullptr</tt></h3>
+<h4 id="cxx_deleted_functions">C++0x deleted functions</tt></h3>
 
-<p>Use <tt>__has_feature(cxx_nullptr)</tt> to determine if support for
-<tt>nullptr</tt> is enabled. clang does not yet fully implement this
-feature.</p>
+<p>Use <tt>__has_feature(cxx_deleted_functions)</tt> or
+<tt>__has_extension(cxx_deleted_functions)</tt> to determine if support for
+deleted function definitions (with <tt>= delete</tt>) is enabled.</p>
 
-<h3 id="cxx_override_control">C++0x <tt>override control</tt></h3>
+<h4 id="cxx_lambdas">C++0x lambdas</h3>
 
-<p>Use <tt>__has_feature(cxx_override_control)</tt> to determine if support for
-the override control keywords is enabled.</p>
+<p>Use <tt>__has_feature(cxx_lambdas)</tt> or
+<tt>__has_extension(cxx_lambdas)</tt> to determine if support for lambdas
+is enabled. clang does not currently implement this feature.</p>
 
-<h3 id="cxx_reference_qualified_functions">C++0x reference-qualified functions</h3>
-<p>Use <tt>__has_feature(cxx_reference_qualified_functions)</tt> to determine if support for reference-qualified functions (e.g., member functions with <code>&amp;</code> or <code>&amp;&amp;</code> applied to <code>*this</code>) is enabled.</p>
+<h4 id="cxx_nullptr">C++0x <tt>nullptr</tt></h3>
 
-<h3 id="cxx_range_for">C++0x range-based for loop</tt></h3>
+<p>Use <tt>__has_feature(cxx_nullptr)</tt> or
+<tt>__has_extension(cxx_nullptr)</tt> to determine if support for
+<tt>nullptr</tt> is enabled.</p>
 
-<p>Use <tt>__has_feature(cxx_range_for)</tt> to determine if support for
-the range-based for loop is enabled. </p>
+<h4 id="cxx_override_control">C++0x <tt>override control</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_override_control)</tt> or
+<tt>__has_extension(cxx_override_control)</tt> to determine if support for
+the override control keywords is enabled.</p>
 
-<h3 id="cxx_rvalue_references">C++0x rvalue references</tt></h3>
+<h4 id="cxx_reference_qualified_functions">C++0x reference-qualified functions</h3>
+<p>Use <tt>__has_feature(cxx_reference_qualified_functions)</tt> or
+<tt>__has_extension(cxx_reference_qualified_functions)</tt> to determine
+if support for reference-qualified functions (e.g., member functions with
+<code>&amp;</code> or <code>&amp;&amp;</code> applied to <code>*this</code>)
+is enabled.</p>
+
+<h4 id="cxx_range_for">C++0x range-based for loop</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_range_for)</tt> or
+<tt>__has_extension(cxx_range_for)</tt> to determine if support for the
+range-based for loop is enabled. </p>
 
-<p>Use <tt>__has_feature(cxx_rvalue_references)</tt> to determine if support for
+<h4 id="cxx_rvalue_references">C++0x rvalue references</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_rvalue_references)</tt> or
+<tt>__has_extension(cxx_rvalue_references)</tt> to determine if support for
 rvalue references is enabled. </p>
 
-<h3 id="cxx_static_assert">C++0x <tt>static_assert()</tt></h3>
+<h4 id="cxx_static_assert">C++0x <tt>static_assert()</tt></h3>
 
-<p>Use <tt>__has_feature(cxx_static_assert)</tt> to determine if support for
+<p>Use <tt>__has_feature(cxx_static_assert)</tt> or
+<tt>__has_extension(cxx_static_assert)</tt> to determine if support for
 compile-time assertions using <tt>static_assert</tt> is enabled.</p>
 
-<h3 id="cxx_auto_type">C++0x type inference</h3>
+<h4 id="cxx_auto_type">C++0x type inference</h3>
 
-<p>Use <tt>__has_feature(cxx_auto_type)</tt> to determine C++0x type inference
-is supported using the <tt>auto</tt> specifier. If this is disabled,
-<tt>auto</tt> will instead be a storage class specifier, as in C or C++98.</p>
+<p>Use <tt>__has_feature(cxx_auto_type)</tt> or
+<tt>__has_extension(cxx_auto_type)</tt> to determine C++0x type inference is
+supported using the <tt>auto</tt> specifier. If this is disabled, <tt>auto</tt>
+will instead be a storage class specifier, as in C or C++98.</p>
 
-<h3 id="cxx_variadic_templates">C++0x variadic templates</h3>
+<h4 id="cxx_variadic_templates">C++0x variadic templates</h3>
 
-<p>Use <tt>__has_feature(cxx_variadic_templates)</tt> to determine if support
+<p>Use <tt>__has_feature(cxx_variadic_templates)</tt> or
+<tt>__has_extension(cxx_variadic_templates)</tt> to determine if support
 for variadic templates is enabled.</p>
 
-<h3 id="cxx_inline_namespaces">C++0x inline namespaces</h3>
+<h4 id="cxx_inline_namespaces">C++0x inline namespaces</h3>
 
-<p>Use <tt>__has_feature(cxx_inline_namespaces)</tt> to determine if support for
+<p>Use <tt>__has_feature(cxx_inline_namespaces)</tt> or
+<tt>__has_extension(cxx_inline_namespaces)</tt> to determine if support for
 inline namespaces is enabled.</p>
 
-<h3 id="cxx_trailing_return">C++0x trailing return type</h3>
+<h4 id="cxx_trailing_return">C++0x trailing return type</h3>
 
-<p>Use <tt>__has_feature(cxx_trailing_return)</tt> to determine if support for
-the alternate function declaration syntax with trailing return type is enabled.</p>
+<p>Use <tt>__has_feature(cxx_trailing_return)</tt> or
+<tt>__has_extension(cxx_trailing_return)</tt> to determine if support for the
+alternate function declaration syntax with trailing return type is enabled.</p>
 
-<h3 id="cxx_noexcept">C++0x noexcept</h3>
+<h4 id="cxx_noexcept">C++0x noexcept</h3>
 
-<p>Use <tt>__has_feature(cxx_noexcept)</tt> to determine if support for
-noexcept exception specifications is enabled.</p>
+<p>Use <tt>__has_feature(cxx_noexcept)</tt> or
+<tt>__has_extension(cxx_noexcept)</tt> to determine if support for noexcept
+exception specifications is enabled.</p>
 
-<h3 id="cxx_strong_enums">C++0x strongly typed enumerations</h3>
+<h4 id="cxx_strong_enums">C++0x strongly typed enumerations</h3>
 
-<p>Use <tt>__has_feature(cxx_strong_enums)</tt> to determine if support for
+<p>Use <tt>__has_feature(cxx_strong_enums)</tt> or
+<tt>__has_extension(cxx_strong_enums)</tt> to determine if support for
 strongly typed, scoped enumerations is enabled.</p>
 
+<h3 id="c1x">C1X</h3>
+
+<p>The features listed below are slated for inclusion in the upcoming
+C1X standard. As a result, all these features are enabled
+with the <tt>-std=c1x</tt> option when compiling C code.</p>
+
+<h4 id="c_generic_selections">C1X generic selections</h2>
+
+<p>Use <tt>__has_feature(c_generic_selections)</tt> or
+<tt>__has_extension(c_generic_selections)</tt> to determine if support for
+generic selections is enabled.</p>
+
+<p>As an extension, the C1X generic selection expression is available in all
+languages supported by Clang.  The syntax is the same as that given in the
+C1X draft standard.</p>
+
+<p>In C, type compatibility is decided according to the rules given in the
+appropriate standard, but in C++, which lacks the type compatibility rules
+used in C, types are considered compatible only if they are equivalent.</p>
+
+<h4 id="c_static_assert">C1X <tt>_Static_assert()</tt></h3>
+
+<p>Use <tt>__has_feature(c_static_assert)</tt> or
+<tt>__has_extension(c_static_assert)</tt> to determine if support for
+compile-time assertions using <tt>_Static_assert</tt> is enabled.</p>
+
 <!-- ======================================================================= -->
 <h2 id="checking_type_traits">Checks for Type Traits</h2>
 <!-- ======================================================================= -->
 
-<p>Clang supports the <a hef="http://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html">GNU C++ type traits</a> and a subset of the <a href="http://msdn.microsoft.com/en-us/library/ms177194(v=VS.100).aspx">Microsoft Visual C++ Type traits</a>. For each supported type trait <code>__X</code>, <code>__has_feature(X)</code> indicates the presence of the type trait. For example:
+<p>Clang supports the <a hef="http://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html">GNU C++ type traits</a> and a subset of the <a href="http://msdn.microsoft.com/en-us/library/ms177194(v=VS.100).aspx">Microsoft Visual C++ Type traits</a>. For each supported type trait <code>__X</code>, <code>__has_extension(X)</code> indicates the presence of the type trait. For example:
 <blockquote>
 <pre>
-#if __has_feature(is_convertible_to)
+#if __has_extension(is_convertible_to)
 template&lt;typename From, typename To&gt;
 struct is_convertible_to {
   static const bool value = __is_convertible_to(From, To);
@@ -507,7 +600,74 @@ details for the clang implementation are
 href="Block-ABI-Apple.txt">Block-ABI-Apple.txt</a>.</p>
 
 
-<p>Query for this feature with __has_feature(blocks).</p>
+<p>Query for this feature with __has_extension(blocks).</p>
+
+<!-- ======================================================================= -->
+<h2 id="objc_features">Objective-C Features</h2>
+<!-- ======================================================================= -->
+
+<h3 id="objc_instancetype">Related result types</h3>
+
+<p>According to Cocoa conventions, Objective-C methods with certain names ("init", "alloc", etc.) always return objects that are an instance of the receiving class's type. Such methods are said to have a "related result type", meaning that a message send to one of these methods will have the same static type as an instance of the receiver class. For example, given the following classes:</p>
+
+<blockquote>
+<pre>
+ at interface NSObject
++ (id)alloc;
+- (id)init;
+ at end
+
+ at interface NSArray : NSObject
+ at end
+</pre>
+</blockquote>
+
+<p>and this common initialization pattern</p>
+
+<blockquote>
+<pre>
+NSArray *array = [[NSArray alloc] init];
+</pre>
+</blockquote>
+
+<p>the type of the expression <code>[NSArray alloc]</code> is
+<code>NSArray*</code> because <code>alloc</code> implicitly has a
+related result type. Similarly, the type of the expression
+<code>[[NSArray alloc] init]</code> is <code>NSArray*</code>, since
+<code>init</code> has a related result type and its receiver is known
+to have the type <code>NSArray *</code>. If neither <code>alloc</code> nor <code>init</code> had a related result type, the expressions would have had type <code>id</code>, as declared in the method signature.</p>
+
+<p>To determine whether a method has a related result type, the first
+word in the camel-case selector (e.g., "init" in "initWithObjects") is
+considered, and the method will a related result type if its return
+type is compatible with the type of its class and if
+
+<ul>
+  
+  <li>the first word is "alloc" or "new", and the method is a class
+  method, or</li>
+  
+  <li>the first word is "autorelease", "init", "retain", or "self",
+  and the method is an instance method.</li>
+  
+</ul></p>
+
+<p>If a method with a related result type is overridden by a subclass
+method, the subclass method must also return a type that is compatible
+with the subclass type. For example:</p>
+
+<blockquote>
+<pre>
+ at interface NSString : NSObject
+- (NSUnrelated *)init; // incorrect usage: NSUnrelated is not NSString or a superclass of NSString
+ at end
+</pre>
+</blockquote>
+
+<p>Related result types only affect the type of a message send or
+property access via the given method. In all other respects, a method
+with a related result type is treated the same way as method without a
+related result type.</p>
 
 <!-- ======================================================================= -->
 <h2 id="overloading-in-c">Function Overloading in C</h2>
@@ -607,22 +767,8 @@ caveats to this use of name mangling:</p
   C.</li>
 </ul>
 
-<p>Query for this feature with __has_feature(attribute_overloadable).</p>
-
-
-<!-- ======================================================================= -->
-<h2 id="generic-selections">Generic Selections</h2>
-<!-- ======================================================================= -->
-
-<p>The C1X generic selection expression is available in all languages
-supported by Clang.  The syntax is the same as that given in the C1X draft
-standard.</p>
-
-<p>In C, type compatibility is decided according to the rules given in the
-appropriate standard, but in C++, which lacks the type compatibility rules
-used in C, types are considered compatible only if they are equivalent.</p>
+<p>Query for this feature with __has_extension(attribute_overloadable).</p>
 
-<p>Query for this feature with __has_feature(generic_selections).</p>
 
 <!-- ======================================================================= -->
 <h2 id="builtins">Builtin Functions</h2>

Modified: vendor/clang/dist/docs/Makefile
==============================================================================
--- vendor/clang/dist/docs/Makefile	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/docs/Makefile	Sun Jun 12 15:46:16 2011	(r223015)
@@ -16,10 +16,10 @@ DOXYGEN = doxygen
 
 $(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg.in
 	cat $< | sed \
-	  -e 's/@abs_top_srcdir@/../g' \
+	  -e 's/@abs_srcdir@/./g' \
 	  -e 's/@DOT@/dot/g' \
 	  -e 's/@PACKAGE_VERSION@/mainline/' \
-	  -e 's/@abs_top_builddir@/../g' > $@
+	  -e 's/@abs_builddir@/./g' > $@
 endif
 
 include $(CLANG_LEVEL)/Makefile

Modified: vendor/clang/dist/docs/UsersManual.html
==============================================================================
--- vendor/clang/dist/docs/UsersManual.html	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/docs/UsersManual.html	Sun Jun 12 15:46:16 2011	(r223015)
@@ -273,6 +273,35 @@ when this is enabled, Clang will print s
 </pre>
 </dd>
 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fdiagnostics-format"><b>-fdiagnostics-format=clang/msvc/vi</b>:
+Changes diagnostic output format to better match IDEs and command line tools.</dt>
+<dd>This option controls the output format of the filename, line number, and column printed in diagnostic messages. The options, and their affect on formatting a simple conversion diagnostic, follow:
+
+  <dl>
+    <dt><b>clang</b> (default)</dt>
+    <dd>
+      <pre>t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int'</pre>
+    </dd>
+
+    <dt><b>msvc</b></dt>
+    <dd>
+      <pre>t.c(3,11) : warning: conversion specifies type 'char *' but the argument has type 'int'</pre>
+    </dd>
+
+    <dt><b>vi</b></dt>
+    <dd>
+      <pre>t.c +3:11: warning: conversion specifies type 'char *' but the argument has type 'int'</pre>
+    </dd>
+  </dl>
+</dd>
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fdiagnostics-show-name"><b>-f[no-]diagnostics-show-name</b>:
+Enable the display of the diagnostic name.</dt>
+<dd>This option, which defaults to off, controls whether or not
+Clang prints the associated name.</dd>
+<br>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
 <dt id="opt_fdiagnostics-show-option"><b>-f[no-]diagnostics-show-option</b>:
 Enable <tt>[-Woption]</tt> information in diagnostic line.</dt>
 <dd>This option, which defaults to on,
@@ -499,6 +528,8 @@ it:</p>
 <li>A categorization of the diagnostic as a note, warning, error, or fatal
     error.</li>
 <li>A text string that describes what the problem is.</li>
+<li>An option that indicates whether to print the diagnostic name [<a
+    href="#opt_fdiagnostics-show-name">-fdiagnostics-show-name</a>].</li>
 <li>An option that indicates how to control the diagnostic (for diagnostics that
     support it) [<a 
    href="#opt_fdiagnostics-show-option">-fdiagnostics-show-option</a>].</li>

Modified: vendor/clang/dist/docs/doxygen.cfg.in
==============================================================================
--- vendor/clang/dist/docs/doxygen.cfg.in	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/docs/doxygen.cfg.in	Sun Jun 12 15:46:16 2011	(r223015)
@@ -30,7 +30,7 @@ PROJECT_NUMBER         = @PACKAGE_VERSIO
 # If a relative path is entered, it will be relative to the location 
 # where doxygen was started. If left blank the current directory will be used.
 
-OUTPUT_DIRECTORY       = @abs_top_builddir@/docs/doxygen
+OUTPUT_DIRECTORY       = @abs_builddir@/doxygen
 
 # If the CREATE_SUBDIRS tag is set to YES, then doxygen will create 
 # 4096 sub-directories (in 2 levels) under the output directory of each output 
@@ -450,9 +450,9 @@ WARN_LOGFILE           = 
 # directories like "/usr/src/myproject". Separate the files or directories 
 # with spaces.
 
-INPUT                  = @abs_top_srcdir@/include \
-                         @abs_top_srcdir@/lib \
-                         @abs_top_srcdir@/docs/doxygen.intro
+INPUT                  = @abs_srcdir@/../include \
+                         @abs_srcdir@/../lib \
+                         @abs_srcdir@/doxygen.intro
 
 # If the value of the INPUT tag contains directories, you can use the 
 # FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
@@ -493,7 +493,7 @@ EXCLUDE_PATTERNS       = 
 # directories that contain example code fragments that are included (see 
 # the \include command).
 
-EXAMPLE_PATH           = @abs_top_srcdir@/examples
+EXAMPLE_PATH           = @abs_srcdir@/../examples
 
 # If the value of the EXAMPLE_PATH tag contains directories, you can use the 
 # EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp 
@@ -513,7 +513,7 @@ EXAMPLE_RECURSIVE      = YES
 # directories that contain image that are included in the documentation (see 
 # the \image command).
 
-IMAGE_PATH             = @abs_top_srcdir@/docs/img
+IMAGE_PATH             = @abs_srcdir@/img
 
 # The INPUT_FILTER tag can be used to specify a program that doxygen should 
 # invoke to filter for each input file. Doxygen will invoke the filter program 
@@ -636,13 +636,13 @@ HTML_FILE_EXTENSION    = .html
 # each generated HTML page. If it is left blank doxygen will generate a 
 # standard header.
 
-HTML_HEADER            = @abs_top_srcdir@/docs/doxygen.header
+HTML_HEADER            = @abs_srcdir@/doxygen.header
 
 # The HTML_FOOTER tag can be used to specify a personal HTML footer for 
 # each generated HTML page. If it is left blank doxygen will generate a 
 # standard footer.
 
-HTML_FOOTER            = @abs_top_srcdir@/docs/doxygen.footer
+HTML_FOOTER            = @abs_srcdir@/doxygen.footer
 
 # The HTML_STYLESHEET tag can be used to specify a user-defined cascading 
 # style sheet that is used by each HTML page. It can be used to 
@@ -651,7 +651,7 @@ HTML_FOOTER            = @abs_top_srcdir
 # the style sheet file to the HTML output directory, so don't put your own 
 # stylesheet in the HTML output directory as well, or it will be erased!
 
-HTML_STYLESHEET        = @abs_top_srcdir@/docs/doxygen.css
+HTML_STYLESHEET        = @abs_srcdir@/doxygen.css
 
 # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes, 
 # files or namespaces will be aligned in HTML using tables. If set to 

Modified: vendor/clang/dist/examples/CMakeLists.txt
==============================================================================
--- vendor/clang/dist/examples/CMakeLists.txt	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/examples/CMakeLists.txt	Sun Jun 12 15:46:16 2011	(r223015)
@@ -1,3 +1,2 @@
 add_subdirectory(clang-interpreter)
 add_subdirectory(PrintFunctionNames)
-add_subdirectory(Tooling)

Modified: vendor/clang/dist/examples/clang-interpreter/Makefile
==============================================================================
--- vendor/clang/dist/examples/clang-interpreter/Makefile	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/examples/clang-interpreter/Makefile	Sun Jun 12 15:46:16 2011	(r223015)
@@ -18,7 +18,8 @@ TOOL_NO_EXPORTS = 1
 LINK_COMPONENTS := jit interpreter nativecodegen bitreader bitwriter ipo \
 	selectiondag asmparser instrumentation
 USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a clangCodeGen.a \
-           clangSema.a clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangAnalysis.a clangRewrite.a \
-           clangAST.a clangParse.a clangLex.a clangBasic.a
+           clangParse.a clangSema.a clangStaticAnalyzerFrontend.a \
+           clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \
+           clangAnalysis.a clangRewrite.a clangAST.a clangLex.a clangBasic.a
 
 include $(CLANG_LEVEL)/Makefile

Modified: vendor/clang/dist/examples/clang-interpreter/main.cpp
==============================================================================
--- vendor/clang/dist/examples/clang-interpreter/main.cpp	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/examples/clang-interpreter/main.cpp	Sun Jun 12 15:46:16 2011	(r223015)
@@ -94,7 +94,7 @@ int main(int argc, const char **argv, ch
   // We expect to get back exactly one command job, if we didn't something
   // failed. Extract that job from the compilation.
   const driver::JobList &Jobs = C->getJobs();
-  if (Jobs.size() != 1 || !isa<driver::Command>(Jobs.begin())) {
+  if (Jobs.size() != 1 || !isa<driver::Command>(*Jobs.begin())) {
     llvm::SmallString<256> Msg;
     llvm::raw_svector_ostream OS(Msg);
     C->PrintJob(OS, C->getJobs(), "; ", true);

Modified: vendor/clang/dist/examples/wpa/Makefile
==============================================================================
--- vendor/clang/dist/examples/wpa/Makefile	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/examples/wpa/Makefile	Sun Jun 12 15:46:16 2011	(r223015)
@@ -16,8 +16,11 @@ NO_INSTALL = 1
 TOOL_NO_EXPORTS = 1
 
 LINK_COMPONENTS := asmparser bitreader mc core
-USEDLIBS = clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangIndex.a clangFrontend.a clangDriver.a \
-	   clangSema.a clangAnalysis.a clangSerialization.a \
-           clangAST.a clangParse.a clangLex.a clangBasic.a
+USEDLIBS = clangStaticAnalyzerFrontend.a \
+           clangStaticAnalyzerCheckers.a \
+           clangStaticAnalyzerCore.a \
+           clangIndex.a clangFrontend.a clangDriver.a \
+	   clangParse.a clangSema.a clangAnalysis.a clangSerialization.a \
+           clangAST.a  clangLex.a clangBasic.a
 
 include $(CLANG_LEVEL)/Makefile

Modified: vendor/clang/dist/include/clang-c/Index.h
==============================================================================
--- vendor/clang/dist/include/clang-c/Index.h	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/include/clang-c/Index.h	Sun Jun 12 15:46:16 2011	(r223015)
@@ -222,6 +222,14 @@ CINDEX_LINKAGE CXString clang_getFileNam
 CINDEX_LINKAGE time_t clang_getFileTime(CXFile SFile);
 
 /**
+ * \brief Determine whether the given header is guarded against
+ * multiple inclusions, either with the conventional
+ * #ifndef/#define/#endif macro guards or with #pragma once.
+ */
+CINDEX_LINKAGE unsigned 
+clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, CXFile file);
+
+/**
  * \brief Retrieve a file handle within the given translation unit.
  *
  * \param tu the translation unit
@@ -821,7 +829,18 @@ enum CXTranslationUnit_Flags {
    * Note: this is a *temporary* option that is available only while
    * we are testing C++ precompiled preamble support.
    */
-  CXTranslationUnit_CXXChainedPCH = 0x20
+  CXTranslationUnit_CXXChainedPCH = 0x20,
+  
+  /**
+   * \brief Used to indicate that the "detailed" preprocessing record,
+   * if requested, should also contain nested macro instantiations.
+   *
+   * Nested macro instantiations (i.e., macro instantiations that occur
+   * inside another macro instantiation) can, in some code bases, require
+   * a large amount of storage to due preprocessor metaprogramming. Moreover,
+   * its fairly rare that this information is useful for libclang clients.
+   */
+  CXTranslationUnit_NestedMacroInstantiations = 0x40
 };
 
 /**
@@ -1027,12 +1046,14 @@ enum CXTUResourceUsageKind {
   CXTUResourceUsage_SourceManager_Membuffer_MMap = 8,
   CXTUResourceUsage_ExternalASTSource_Membuffer_Malloc = 9, 
   CXTUResourceUsage_ExternalASTSource_Membuffer_MMap = 10, 
+  CXTUResourceUsage_Preprocessor = 11,
+  CXTUResourceUsage_PreprocessingRecord = 12,
   CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN = CXTUResourceUsage_AST,
   CXTUResourceUsage_MEMORY_IN_BYTES_END =
-    CXTUResourceUsage_ExternalASTSource_Membuffer_MMap,
+    CXTUResourceUsage_PreprocessingRecord,
 
   CXTUResourceUsage_First = CXTUResourceUsage_AST,
-  CXTUResourceUsage_Last = CXTUResourceUsage_ExternalASTSource_Membuffer_MMap
+  CXTUResourceUsage_Last = CXTUResourceUsage_PreprocessingRecord
 };
 
 /**
@@ -1166,8 +1187,12 @@ enum CXCursorKind {
   CXCursor_UsingDeclaration              = 35,
   /** \brief A C++ alias declaration */
   CXCursor_TypeAliasDecl                 = 36,
+  /** \brief An Objective-C @synthesize definition. */
+  CXCursor_ObjCSynthesizeDecl            = 37,
+  /** \brief An Objective-C @dynamic definition. */
+  CXCursor_ObjCDynamicDecl               = 38,
   CXCursor_FirstDecl                     = CXCursor_UnexposedDecl,
-  CXCursor_LastDecl                      = CXCursor_TypeAliasDecl,
+  CXCursor_LastDecl                      = CXCursor_ObjCDynamicDecl,
 
   /* References */
   CXCursor_FirstRef                      = 40, /* Decl references */
@@ -2246,6 +2271,13 @@ CINDEX_LINKAGE CXCursor clang_getCanonic
 CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C);
 
 /**
+ * \brief Determine if a C++ member function or member function template is
+ * explicitly declared 'virtual' or if it overrides a virtual method from
+ * one of the base classes.
+ */
+CINDEX_LINKAGE unsigned clang_CXXMethod_isVirtual(CXCursor C);
+
+/**
  * \brief Given a cursor that represents a template, determine
  * the cursor kind of the specializations would be generated by instantiating
  * the template.

Modified: vendor/clang/dist/include/clang/AST/APValue.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/APValue.h	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/include/clang/AST/APValue.h	Sun Jun 12 15:46:16 2011	(r223015)
@@ -85,10 +85,10 @@ public:
   APValue(const APValue &RHS) : Kind(Uninitialized) {
     *this = RHS;
   }
-  APValue(Expr* B, const CharUnits &O) : Kind(Uninitialized) {
+  APValue(const Expr* B, const CharUnits &O) : Kind(Uninitialized) {
     MakeLValue(); setLValue(B, O);
   }
-  APValue(Expr* B);
+  APValue(const Expr* B);
 
   ~APValue() {
     MakeUninit();
@@ -167,7 +167,7 @@ public:
     return const_cast<APValue*>(this)->getComplexFloatImag();
   }
 
-  Expr* getLValueBase() const;
+  const Expr* getLValueBase() const;
   CharUnits getLValueOffset() const;
 
   void setInt(const APSInt &I) {
@@ -199,7 +199,7 @@ public:
     ((ComplexAPFloat*)(char*)Data)->Real = R;
     ((ComplexAPFloat*)(char*)Data)->Imag = I;
   }
-  void setLValue(Expr *B, const CharUnits &O);
+  void setLValue(const Expr *B, const CharUnits &O);
 
   const APValue &operator=(const APValue &RHS);
 

Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTContext.h	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/include/clang/AST/ASTContext.h	Sun Jun 12 15:46:16 2011	(r223015)
@@ -406,6 +406,21 @@ public:
   /// bitfield which follows the bitfield 'LastFD'.
   bool ZeroBitfieldFollowsBitfield(const FieldDecl *FD,
                                    const FieldDecl *LastFD) const;
+  
+  /// BitfieldFollowsBitfield - return 'true" if 'FD' is a
+  /// bitfield which follows the bitfield 'LastFD'.
+  bool BitfieldFollowsBitfield(const FieldDecl *FD,
+                                   const FieldDecl *LastFD) const;
+  
+  /// NoneBitfieldFollowsBitfield - return 'true" if 'FD' is not a
+  /// bitfield which follows the bitfield 'LastFD'.
+  bool NoneBitfieldFollowsBitfield(const FieldDecl *FD,
+                                   const FieldDecl *LastFD) const;
+  
+  /// BitfieldFollowsNoneBitfield - return 'true" if 'FD' is a
+  /// bitfield which follows the none bitfield 'LastFD'.
+  bool BitfieldFollowsNoneBitfield(const FieldDecl *FD,
+                                   const FieldDecl *LastFD) const;
 
   // Access to the set of methods overridden by the given C++ method.
   typedef CXXMethodVector::iterator overridden_cxx_method_iterator;
@@ -764,6 +779,10 @@ public:
   /// getDecltypeType - C++0x decltype.
   QualType getDecltypeType(Expr *e) const;
 
+  /// getUnaryTransformType - unary type transforms
+  QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType,
+                                 UnaryTransformType::UTTKind UKind) const;
+
   /// getAutoType - C++0x deduced auto type.
   QualType getAutoType(QualType DeducedType) const;
 
@@ -895,12 +914,18 @@ public:
                                        std::string &S) const;
 
   /// getObjCEncodingForFunctionDecl - Returns the encoded type for this
-  //function.  This is in the same format as Objective-C method encodings.  
-  void getObjCEncodingForFunctionDecl(const FunctionDecl *Decl, std::string& S);
+  /// function.  This is in the same format as Objective-C method encodings.  
+  ///
+  /// \returns true if an error occurred (e.g., because one of the parameter
+  /// types is incomplete), false otherwise.
+  bool getObjCEncodingForFunctionDecl(const FunctionDecl *Decl, std::string& S);
 
   /// getObjCEncodingForMethodDecl - Return the encoded type for this method
   /// declaration.
-  void getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, std::string &S)
+  ///
+  /// \returns true if an error occurred (e.g., because one of the parameter
+  /// types is incomplete), false otherwise.
+  bool getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, std::string &S)
     const;
 
   /// getObjCEncodingForBlock - Return the encoded type for this block
@@ -1438,7 +1463,8 @@ public:
   /// MakeIntValue - Make an APSInt of the appropriate width and
   /// signedness for the given \arg Value and integer \arg Type.
   llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) const {
-    llvm::APSInt Res(getIntWidth(Type), !Type->isSignedIntegerType());
+    llvm::APSInt Res(getIntWidth(Type), 
+                     !Type->isSignedIntegerOrEnumerationType());
     Res = Value;
     return Res;
   }
@@ -1526,6 +1552,13 @@ public:
   /// which declarations were built.
   static unsigned NumImplicitCopyConstructorsDeclared;
 
+  /// \brief The number of implicitly-declared move constructors.
+  static unsigned NumImplicitMoveConstructors;
+
+  /// \brief The number of implicitly-declared move constructors for
+  /// which declarations were built.
+  static unsigned NumImplicitMoveConstructorsDeclared;
+
   /// \brief The number of implicitly-declared copy assignment operators.
   static unsigned NumImplicitCopyAssignmentOperators;
   
@@ -1533,6 +1566,13 @@ public:
   /// which declarations were built.
   static unsigned NumImplicitCopyAssignmentOperatorsDeclared;
 
+  /// \brief The number of implicitly-declared move assignment operators.
+  static unsigned NumImplicitMoveAssignmentOperators;
+  
+  /// \brief The number of implicitly-declared move assignment operators for 
+  /// which declarations were built.
+  static unsigned NumImplicitMoveAssignmentOperatorsDeclared;
+
   /// \brief The number of implicitly-declared destructors.
   static unsigned NumImplicitDestructors;
   
@@ -1553,7 +1593,13 @@ private:
                                   bool ExpandStructures,
                                   const FieldDecl *Field,
                                   bool OutermostType = false,
-                                  bool EncodingProperty = false) const;
+                                  bool EncodingProperty = false,
+                                  bool StructField = false) const;
+
+  // Adds the encoding of the structure's members.
+  void getObjCEncodingForStructureImpl(RecordDecl *RD, std::string &S,
+                                       const FieldDecl *Field,
+                                       bool includeVBases = true) const;
  
   const ASTRecordLayout &
   getObjCLayout(const ObjCInterfaceDecl *D,

Modified: vendor/clang/dist/include/clang/AST/CanonicalType.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CanonicalType.h	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/include/clang/AST/CanonicalType.h	Sun Jun 12 15:46:16 2011	(r223015)
@@ -291,6 +291,8 @@ public:
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isPromotableIntegerType)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSignedIntegerType)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isUnsignedIntegerType)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSignedIntegerOrEnumerationType)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isUnsignedIntegerOrEnumerationType)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isConstantSizeType)
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSpecifierType)
 
@@ -630,6 +632,14 @@ struct CanProxyAdaptor<DecltypeType> : p
   LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getUnderlyingType)
 };
 
+template <>
+struct CanProxyAdaptor<UnaryTransformType>
+    : public CanProxyBase<UnaryTransformType> {
+  LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getBaseType)
+  LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getUnderlyingType)
+  LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(UnaryTransformType::UTTKind, getUTTKind)
+};
+
 template<>
 struct CanProxyAdaptor<TagType> : public CanProxyBase<TagType> {
   LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(TagDecl *, getDecl)

Modified: vendor/clang/dist/include/clang/AST/Decl.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Decl.h	Sun Jun 12 15:44:14 2011	(r223014)
+++ vendor/clang/dist/include/clang/AST/Decl.h	Sun Jun 12 15:46:16 2011	(r223015)
@@ -1365,6 +1365,8 @@ private:
   bool HasWrittenPrototype : 1;
   bool IsDeleted : 1;
   bool IsTrivial : 1; // sunk from CXXMethodDecl
+  bool IsDefaulted : 1; // sunk from CXXMethoDecl
+  bool IsExplicitlyDefaulted : 1; //sunk from CXXMethodDecl
   bool HasImplicitReturnZero : 1;
   bool IsLateTemplateParsed : 1;
 
@@ -1448,6 +1450,7 @@ protected:
       IsInline(isInlineSpecified), IsInlineSpecified(isInlineSpecified),
       IsVirtualAsWritten(false), IsPure(false), HasInheritedPrototype(false),
       HasWrittenPrototype(true), IsDeleted(false), IsTrivial(false),
+      IsDefaulted(false), IsExplicitlyDefaulted(false),
       HasImplicitReturnZero(false), IsLateTemplateParsed(false),
       EndRangeLoc(NameInfo.getEndLoc()),
       TemplateOrSpecialization(),
@@ -1512,6 +1515,20 @@ public:
     return hasBody(Definition);
   }
 
+  /// hasTrivialBody - Returns whether the function has a trivial body that does
+  /// not require any specific codegen.
+  bool hasTrivialBody() const;
+
+  /// isDefined - Returns true if the function is defined at all, including
+  /// a deleted definition. Except for the behavior when the function is
+  /// deleted, behaves like hasBody.
+  bool isDefined(const FunctionDecl *&Definition) const;
+
+  virtual bool isDefined() const {
+    const FunctionDecl* Definition;
+    return isDefined(Definition);

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


More information about the svn-src-all mailing list