Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 15 Dec 2009 18:49:48 +0000 (UTC)
From:      Roman Divacky <rdivacky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r200583 - in vendor/clang/dist: . clang.xcodeproj docs include/clang-c include/clang/AST include/clang/Analysis include/clang/Analysis/PathSensitive include/clang/Analysis/Support inclu...
Message-ID:  <200912151849.nBFInm8Q071877@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rdivacky
Date: Tue Dec 15 18:49:47 2009
New Revision: 200583
URL: http://svn.freebsd.org/changeset/base/200583

Log:
  Update clang to 91430.

Added:
  vendor/clang/dist/include/clang/Index/CallGraph.h
  vendor/clang/dist/lib/Analysis/BuiltinFunctionChecker.cpp
  vendor/clang/dist/lib/Analysis/NoReturnFunctionChecker.cpp
  vendor/clang/dist/lib/Analysis/OSAtomicChecker.cpp
  vendor/clang/dist/lib/CodeGen/CGDeclCXX.cpp
  vendor/clang/dist/lib/CodeGen/CGRTTI.cpp
  vendor/clang/dist/lib/Index/CallGraph.cpp
  vendor/clang/dist/lib/Parse/RAIIObjectsForParser.h
  vendor/clang/dist/lib/Sema/SemaInit.h
  vendor/clang/dist/test/Analysis/NSString-failed-cases.m
  vendor/clang/dist/test/Analysis/blocks.m
  vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.argdep/p3.cpp
  vendor/clang/dist/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.allocation/p1.cpp
  vendor/clang/dist/test/CXX/basic/basic.stc/basic.stc.dynamic/basic.stc.dynamic.deallocation/p1.cpp
  vendor/clang/dist/test/CXX/class.access/class.access.dcl/p1.cpp
  vendor/clang/dist/test/CXX/class/class.mfct/class.mfct.non-static/p3.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p10.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p11.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p12.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p13.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p4.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p8.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.list/basic.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p1.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p3.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-examples.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-var.cpp
  vendor/clang/dist/test/CodeGen/decl.c
  vendor/clang/dist/test/CodeGen/palignr.c
  vendor/clang/dist/test/CodeGen/vfprintf.c
  vendor/clang/dist/test/CodeGenCXX/constructor-convert.cpp
  vendor/clang/dist/test/CodeGenCXX/conversion-operator-base.cpp
  vendor/clang/dist/test/CodeGenCXX/copy-assign-synthesis-3.cpp
  vendor/clang/dist/test/CodeGenCXX/copy-constructor-synthesis-2.cpp
  vendor/clang/dist/test/CodeGenCXX/default-constructor-template-member.cpp
  vendor/clang/dist/test/CodeGenCXX/elide-call-reference.cpp
  vendor/clang/dist/test/CodeGenCXX/enum.cpp
  vendor/clang/dist/test/CodeGenCXX/eval-recursive-constant.cpp
  vendor/clang/dist/test/CodeGenCXX/exceptions.cpp
  vendor/clang/dist/test/CodeGenCXX/function-template-explicit-specialization.cpp
  vendor/clang/dist/test/CodeGenCXX/global-llvm-constant.cpp
  vendor/clang/dist/test/CodeGenCXX/inline-functions.cpp
  vendor/clang/dist/test/CodeGenCXX/key-function-vtable.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-extern-local.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-unnamed.cpp
  vendor/clang/dist/test/CodeGenCXX/member-call-parens.cpp
  vendor/clang/dist/test/CodeGenCXX/member-pointer-type-convert.cpp
  vendor/clang/dist/test/CodeGenCXX/reference-init.cpp
  vendor/clang/dist/test/CodeGenCXX/rtti-linkage.cpp
  vendor/clang/dist/test/CodeGenCXX/static-member-variable-explicit-specialization.cpp
  vendor/clang/dist/test/CodeGenCXX/template-linkage.cpp
  vendor/clang/dist/test/CodeGenCXX/throw-expressions.cpp
  vendor/clang/dist/test/CodeGenCXX/unary-type-trait.cpp
  vendor/clang/dist/test/CodeGenCXX/virt-call-offsets.cpp
  vendor/clang/dist/test/CodeGenCXX/virt-canonical-decl.cpp
  vendor/clang/dist/test/CodeGenCXX/virt-template-vtable.cpp
  vendor/clang/dist/test/CodeGenCXX/virt-thunk-reference.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-destructor-calls.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-destructor-synthesis.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-implicit-copy-assignment.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-inherited-destructor.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-key-function.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-linkage.cpp
  vendor/clang/dist/test/CodeGenObjC/id-isa-codegen.m
  vendor/clang/dist/test/CodeGenObjC/nested-rethrow.m
  vendor/clang/dist/test/CodeGenObjC/property-list-in-class.m
  vendor/clang/dist/test/CodeGenObjCXX/
  vendor/clang/dist/test/CodeGenObjCXX/mangle.mm
  vendor/clang/dist/test/Index/Inputs/remap-complete-to.c
  vendor/clang/dist/test/Index/cindex-from-source.m
  vendor/clang/dist/test/Index/cindex-on-invalid.m
  vendor/clang/dist/test/Index/complete-at-directives.m
  vendor/clang/dist/test/Index/complete-at-exprstmt.m
  vendor/clang/dist/test/Index/remap-complete.c
  vendor/clang/dist/test/Lexer/has_feature_exceptions.cpp
  vendor/clang/dist/test/Lexer/has_feature_rtti.cpp
  vendor/clang/dist/test/Lexer/msdos-cpm-eof.c
  vendor/clang/dist/test/Misc/Inputs/
  vendor/clang/dist/test/Misc/Inputs/remapped-file
  vendor/clang/dist/test/Misc/Inputs/remapped-file-2
  vendor/clang/dist/test/Misc/Inputs/remapped-file-3
  vendor/clang/dist/test/Misc/remap-file.c
  vendor/clang/dist/test/PCH/source-manager-stack.c
  vendor/clang/dist/test/Parser/cxx-extern-c-array.cpp
  vendor/clang/dist/test/Parser/cxx-stmt.cpp
  vendor/clang/dist/test/SemaCXX/array-bound-merge.cpp
  vendor/clang/dist/test/SemaCXX/attr-noreturn.cpp
  vendor/clang/dist/test/SemaCXX/implicit-member-functions.cpp
  vendor/clang/dist/test/SemaCXX/implicit-virtual-member-functions.cpp
  vendor/clang/dist/test/SemaCXX/literal-type.cpp
  vendor/clang/dist/test/SemaCXX/member-expr-anonymous-union.cpp
  vendor/clang/dist/test/SemaCXX/prefetch-enum.cpp
  vendor/clang/dist/test/SemaCXX/virtual-member-functions-key-function.cpp
  vendor/clang/dist/test/SemaCXX/warn-missing-prototypes.cpp
  vendor/clang/dist/test/SemaObjC/method-arg-qualifier-warning.m
  vendor/clang/dist/test/SemaObjC/restrict-id-type.m
  vendor/clang/dist/test/SemaObjCXX/category-lookup.mm
  vendor/clang/dist/test/SemaObjCXX/composite-objc-pointertype.mm
  vendor/clang/dist/test/SemaObjCXX/conditional-expr.mm
  vendor/clang/dist/test/SemaObjCXX/cstyle-cast.mm
  vendor/clang/dist/test/SemaObjCXX/standard-conversion-to-bool.mm
  vendor/clang/dist/test/SemaTemplate/instantiate-default-assignment-operator.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-enum-2.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-exception-spec.cpp
  vendor/clang/dist/test/SemaTemplate/template-class-traits.cpp
  vendor/clang/dist/test/SemaTemplate/virtual-member-functions.cpp
  vendor/clang/dist/utils/TestUtils/
  vendor/clang/dist/utils/TestUtils/deep-stack.py   (contents, props changed)
  vendor/clang/dist/utils/TestUtils/pch-test.pl   (contents, props changed)
Deleted:
  vendor/clang/dist/include/clang/Analysis/CallGraph.h
  vendor/clang/dist/lib/Analysis/CallGraph.cpp
  vendor/clang/dist/lib/CodeGen/CGRtti.cpp
  vendor/clang/dist/lib/Parse/ExtensionRAIIObject.h
  vendor/clang/dist/test/CodeGen/cast-to-union.c
  vendor/clang/dist/test/CodeGen/string-init.c
  vendor/clang/dist/test/Parser/cxx-try.cpp
  vendor/clang/dist/tools/clang-cc/
Modified:
  vendor/clang/dist/NOTES.txt
  vendor/clang/dist/TODO.txt
  vendor/clang/dist/clang.xcodeproj/project.pbxproj
  vendor/clang/dist/docs/BlockImplementation.txt
  vendor/clang/dist/docs/LanguageExtensions.html
  vendor/clang/dist/docs/PCHInternals.html
  vendor/clang/dist/docs/PTHInternals.html
  vendor/clang/dist/docs/UsersManual.html
  vendor/clang/dist/docs/libIndex.html
  vendor/clang/dist/include/clang-c/Index.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/DeclContextInternals.h
  vendor/clang/dist/include/clang/AST/DeclNodes.def
  vendor/clang/dist/include/clang/AST/DeclObjC.h
  vendor/clang/dist/include/clang/AST/DeclTemplate.h
  vendor/clang/dist/include/clang/AST/DeclarationName.h
  vendor/clang/dist/include/clang/AST/Expr.h
  vendor/clang/dist/include/clang/AST/ExprCXX.h
  vendor/clang/dist/include/clang/AST/RecordLayout.h
  vendor/clang/dist/include/clang/AST/StmtCXX.h
  vendor/clang/dist/include/clang/AST/TemplateBase.h
  vendor/clang/dist/include/clang/AST/TemplateName.h
  vendor/clang/dist/include/clang/AST/Type.h
  vendor/clang/dist/include/clang/AST/TypeLoc.h
  vendor/clang/dist/include/clang/AST/TypeLocBuilder.h
  vendor/clang/dist/include/clang/AST/TypeLocVisitor.h
  vendor/clang/dist/include/clang/AST/TypeNodes.def
  vendor/clang/dist/include/clang/AST/TypeOrdering.h
  vendor/clang/dist/include/clang/Analysis/PathDiagnostic.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/AnalysisContext.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/AnalysisManager.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/BugType.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/Checker.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/GRExprEngine.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/GRState.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/GRTransferFuncs.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/MemRegion.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/Store.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/SymbolManager.h
  vendor/clang/dist/include/clang/Analysis/ProgramPoint.h
  vendor/clang/dist/include/clang/Analysis/Support/BumpVector.h
  vendor/clang/dist/include/clang/Basic/Builtins.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/DiagnosticDriverKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td
  vendor/clang/dist/include/clang/Basic/DiagnosticLexKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist/include/clang/Basic/FileManager.h
  vendor/clang/dist/include/clang/Basic/IdentifierTable.h
  vendor/clang/dist/include/clang/Basic/LangOptions.h
  vendor/clang/dist/include/clang/Basic/PartialDiagnostic.h
  vendor/clang/dist/include/clang/Basic/SourceLocation.h
  vendor/clang/dist/include/clang/Basic/SourceManager.h
  vendor/clang/dist/include/clang/Basic/TokenKinds.def
  vendor/clang/dist/include/clang/Basic/TypeTraits.h
  vendor/clang/dist/include/clang/Driver/CC1Options.td
  vendor/clang/dist/include/clang/Driver/Driver.h
  vendor/clang/dist/include/clang/Driver/Job.h
  vendor/clang/dist/include/clang/Driver/OptParser.td
  vendor/clang/dist/include/clang/Driver/OptTable.h
  vendor/clang/dist/include/clang/Driver/Options.td
  vendor/clang/dist/include/clang/Frontend/ASTConsumers.h
  vendor/clang/dist/include/clang/Frontend/ASTUnit.h
  vendor/clang/dist/include/clang/Frontend/AnalysisConsumer.h
  vendor/clang/dist/include/clang/Frontend/CompilerInstance.h
  vendor/clang/dist/include/clang/Frontend/CompilerInvocation.h
  vendor/clang/dist/include/clang/Frontend/FrontendOptions.h
  vendor/clang/dist/include/clang/Frontend/HeaderSearchOptions.h
  vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h
  vendor/clang/dist/include/clang/Frontend/PCHReader.h
  vendor/clang/dist/include/clang/Frontend/PCHWriter.h
  vendor/clang/dist/include/clang/Frontend/PreprocessorOptions.h
  vendor/clang/dist/include/clang/Index/Entity.h
  vendor/clang/dist/include/clang/Index/GlobalSelector.h
  vendor/clang/dist/include/clang/Lex/Lexer.h
  vendor/clang/dist/include/clang/Lex/Preprocessor.h
  vendor/clang/dist/include/clang/Parse/Action.h
  vendor/clang/dist/include/clang/Parse/DeclSpec.h
  vendor/clang/dist/include/clang/Parse/Parser.h
  vendor/clang/dist/include/clang/Sema/ExternalSemaSource.h
  vendor/clang/dist/include/clang/Sema/SemaConsumer.h
  vendor/clang/dist/lib/AST/ASTContext.cpp
  vendor/clang/dist/lib/AST/CXXInheritance.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/DeclarationName.cpp
  vendor/clang/dist/lib/AST/Expr.cpp
  vendor/clang/dist/lib/AST/ExprCXX.cpp
  vendor/clang/dist/lib/AST/ExprConstant.cpp
  vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp
  vendor/clang/dist/lib/AST/RecordLayoutBuilder.h
  vendor/clang/dist/lib/AST/StmtDumper.cpp
  vendor/clang/dist/lib/AST/StmtPrinter.cpp
  vendor/clang/dist/lib/AST/StmtProfile.cpp
  vendor/clang/dist/lib/AST/TemplateBase.cpp
  vendor/clang/dist/lib/AST/TemplateName.cpp
  vendor/clang/dist/lib/AST/Type.cpp
  vendor/clang/dist/lib/AST/TypeLoc.cpp
  vendor/clang/dist/lib/AST/TypePrinter.cpp
  vendor/clang/dist/lib/Analysis/AnalysisContext.cpp
  vendor/clang/dist/lib/Analysis/BasicStore.cpp
  vendor/clang/dist/lib/Analysis/BugReporter.cpp
  vendor/clang/dist/lib/Analysis/CFG.cpp
  vendor/clang/dist/lib/Analysis/CFRefCount.cpp
  vendor/clang/dist/lib/Analysis/CMakeLists.txt
  vendor/clang/dist/lib/Analysis/CallAndMessageChecker.cpp
  vendor/clang/dist/lib/Analysis/CheckDeadStores.cpp
  vendor/clang/dist/lib/Analysis/CheckSecuritySyntaxOnly.cpp
  vendor/clang/dist/lib/Analysis/Checker.cpp
  vendor/clang/dist/lib/Analysis/GRExprEngine.cpp
  vendor/clang/dist/lib/Analysis/GRExprEngineInternalChecks.h
  vendor/clang/dist/lib/Analysis/GRState.cpp
  vendor/clang/dist/lib/Analysis/MallocChecker.cpp
  vendor/clang/dist/lib/Analysis/MemRegion.cpp
  vendor/clang/dist/lib/Analysis/PathDiagnostic.cpp
  vendor/clang/dist/lib/Analysis/RegionStore.cpp
  vendor/clang/dist/lib/Analysis/Store.cpp
  vendor/clang/dist/lib/Analysis/SymbolManager.cpp
  vendor/clang/dist/lib/Analysis/ValueManager.cpp
  vendor/clang/dist/lib/Basic/Diagnostic.cpp
  vendor/clang/dist/lib/Basic/FileManager.cpp
  vendor/clang/dist/lib/Basic/SourceManager.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/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/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/CGObjCMac.cpp
  vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp
  vendor/clang/dist/lib/CodeGen/CGVtable.cpp
  vendor/clang/dist/lib/CodeGen/CGVtable.h
  vendor/clang/dist/lib/CodeGen/CMakeLists.txt
  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.cpp
  vendor/clang/dist/lib/CodeGen/GlobalDecl.h
  vendor/clang/dist/lib/CodeGen/Mangle.cpp
  vendor/clang/dist/lib/CodeGen/Mangle.h
  vendor/clang/dist/lib/CodeGen/TargetABIInfo.cpp
  vendor/clang/dist/lib/Driver/Driver.cpp
  vendor/clang/dist/lib/Driver/DriverOptions.cpp
  vendor/clang/dist/lib/Driver/Job.cpp
  vendor/clang/dist/lib/Driver/OptTable.cpp
  vendor/clang/dist/lib/Driver/ToolChains.cpp
  vendor/clang/dist/lib/Driver/Tools.cpp
  vendor/clang/dist/lib/Driver/Types.cpp
  vendor/clang/dist/lib/Frontend/ASTConsumers.cpp
  vendor/clang/dist/lib/Frontend/ASTUnit.cpp
  vendor/clang/dist/lib/Frontend/AnalysisConsumer.cpp
  vendor/clang/dist/lib/Frontend/Backend.cpp
  vendor/clang/dist/lib/Frontend/CompilerInstance.cpp
  vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
  vendor/clang/dist/lib/Frontend/DiagChecker.cpp
  vendor/clang/dist/lib/Frontend/FixItRewriter.cpp
  vendor/clang/dist/lib/Frontend/FrontendAction.cpp
  vendor/clang/dist/lib/Frontend/FrontendActions.cpp
  vendor/clang/dist/lib/Frontend/HTMLPrint.cpp
  vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp
  vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp
  vendor/clang/dist/lib/Frontend/LangStandards.cpp
  vendor/clang/dist/lib/Frontend/PCHReader.cpp
  vendor/clang/dist/lib/Frontend/PCHReaderDecl.cpp
  vendor/clang/dist/lib/Frontend/PCHReaderStmt.cpp
  vendor/clang/dist/lib/Frontend/PCHWriter.cpp
  vendor/clang/dist/lib/Frontend/PCHWriterDecl.cpp
  vendor/clang/dist/lib/Frontend/PCHWriterStmt.cpp
  vendor/clang/dist/lib/Frontend/PlistDiagnostics.cpp
  vendor/clang/dist/lib/Frontend/PrintPreprocessedOutput.cpp
  vendor/clang/dist/lib/Frontend/RewriteObjC.cpp
  vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp
  vendor/clang/dist/lib/Headers/limits.h
  vendor/clang/dist/lib/Headers/tmmintrin.h
  vendor/clang/dist/lib/Index/ASTVisitor.h
  vendor/clang/dist/lib/Index/CMakeLists.txt
  vendor/clang/dist/lib/Index/ResolveLocation.cpp
  vendor/clang/dist/lib/Lex/Lexer.cpp
  vendor/clang/dist/lib/Lex/MacroArgs.cpp
  vendor/clang/dist/lib/Lex/MacroArgs.h
  vendor/clang/dist/lib/Lex/PPDirectives.cpp
  vendor/clang/dist/lib/Lex/PPExpressions.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/Lex/TokenLexer.cpp
  vendor/clang/dist/lib/Parse/DeclSpec.cpp
  vendor/clang/dist/lib/Parse/MinimalAction.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/ParseStmt.cpp
  vendor/clang/dist/lib/Parse/ParseTemplate.cpp
  vendor/clang/dist/lib/Parse/Parser.cpp
  vendor/clang/dist/lib/Sema/CodeCompleteConsumer.cpp
  vendor/clang/dist/lib/Sema/Lookup.h
  vendor/clang/dist/lib/Sema/ParseAST.cpp
  vendor/clang/dist/lib/Sema/Sema.cpp
  vendor/clang/dist/lib/Sema/Sema.h
  vendor/clang/dist/lib/Sema/SemaAttr.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/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/SemaInit.cpp
  vendor/clang/dist/lib/Sema/SemaLookup.cpp
  vendor/clang/dist/lib/Sema/SemaOverload.cpp
  vendor/clang/dist/lib/Sema/SemaOverload.h
  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/SemaType.cpp
  vendor/clang/dist/lib/Sema/TreeTransform.h
  vendor/clang/dist/test/Analysis/CFDateGC.m
  vendor/clang/dist/test/Analysis/CFNumber.c
  vendor/clang/dist/test/Analysis/CFRetainRelease_NSAssertionHandler.m
  vendor/clang/dist/test/Analysis/CGColorSpace.c
  vendor/clang/dist/test/Analysis/CheckNSError.m
  vendor/clang/dist/test/Analysis/MissingDealloc.m
  vendor/clang/dist/test/Analysis/NSPanel.m
  vendor/clang/dist/test/Analysis/NSString.m
  vendor/clang/dist/test/Analysis/NSWindow.m
  vendor/clang/dist/test/Analysis/NoReturn.m
  vendor/clang/dist/test/Analysis/ObjCProperties.m
  vendor/clang/dist/test/Analysis/ObjCRetSigs.m
  vendor/clang/dist/test/Analysis/PR2599.m
  vendor/clang/dist/test/Analysis/PR2978.m
  vendor/clang/dist/test/Analysis/PR3991.m
  vendor/clang/dist/test/Analysis/array-struct.c
  vendor/clang/dist/test/Analysis/casts.c
  vendor/clang/dist/test/Analysis/casts.m
  vendor/clang/dist/test/Analysis/cfref_PR2519.c
  vendor/clang/dist/test/Analysis/cfref_rdar6080742.c
  vendor/clang/dist/test/Analysis/complex.c
  vendor/clang/dist/test/Analysis/concrete-address.c
  vendor/clang/dist/test/Analysis/conditional-op-missing-lhs.c
  vendor/clang/dist/test/Analysis/dead-stores.c
  vendor/clang/dist/test/Analysis/dead-stores.cpp
  vendor/clang/dist/test/Analysis/dead-stores.m
  vendor/clang/dist/test/Analysis/delegates.m
  vendor/clang/dist/test/Analysis/elementtype.c
  vendor/clang/dist/test/Analysis/exercise-ps.c
  vendor/clang/dist/test/Analysis/fields.c
  vendor/clang/dist/test/Analysis/func.c
  vendor/clang/dist/test/Analysis/malloc.c
  vendor/clang/dist/test/Analysis/misc-ps-64.m
  vendor/clang/dist/test/Analysis/misc-ps-basic-store.m
  vendor/clang/dist/test/Analysis/misc-ps-eager-assume.m
  vendor/clang/dist/test/Analysis/misc-ps-ranges.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store-i386.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store-x86_64.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store.m
  vendor/clang/dist/test/Analysis/misc-ps.m
  vendor/clang/dist/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
  vendor/clang/dist/test/Analysis/no-exit-cfg.c
  vendor/clang/dist/test/Analysis/no-outofbounds.c
  vendor/clang/dist/test/Analysis/null-deref-ps-region.c
  vendor/clang/dist/test/Analysis/null-deref-ps.c
  vendor/clang/dist/test/Analysis/outofbound.c
  vendor/clang/dist/test/Analysis/override-werror.c
  vendor/clang/dist/test/Analysis/plist-output.m
  vendor/clang/dist/test/Analysis/pr4209.m
  vendor/clang/dist/test/Analysis/pr_2542_rdar_6793404.m
  vendor/clang/dist/test/Analysis/pr_4164.c
  vendor/clang/dist/test/Analysis/ptr-arith.c
  vendor/clang/dist/test/Analysis/rdar-6442306-1.m
  vendor/clang/dist/test/Analysis/rdar-6540084.m
  vendor/clang/dist/test/Analysis/rdar-6541136-region.c
  vendor/clang/dist/test/Analysis/rdar-6541136.c
  vendor/clang/dist/test/Analysis/rdar-6562655.m
  vendor/clang/dist/test/Analysis/rdar-6582778-basic-store.c
  vendor/clang/dist/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
  vendor/clang/dist/test/Analysis/rdar-7168531.m
  vendor/clang/dist/test/Analysis/refcnt_naming.m
  vendor/clang/dist/test/Analysis/region-1.m
  vendor/clang/dist/test/Analysis/retain-release-basic-store.m
  vendor/clang/dist/test/Analysis/retain-release-gc-only.m
  vendor/clang/dist/test/Analysis/retain-release-region-store.m
  vendor/clang/dist/test/Analysis/retain-release.m
  vendor/clang/dist/test/Analysis/security-syntax-checks.m
  vendor/clang/dist/test/Analysis/sizeofpointer.c
  vendor/clang/dist/test/Analysis/stack-addr-ps.c
  vendor/clang/dist/test/Analysis/uninit-msg-expr.m
  vendor/clang/dist/test/Analysis/uninit-ps-rdar6145427.m
  vendor/clang/dist/test/Analysis/uninit-vals-ps-region.c
  vendor/clang/dist/test/Analysis/uninit-vals-ps.c
  vendor/clang/dist/test/Analysis/uninit-vals.c
  vendor/clang/dist/test/Analysis/uninit-vals.m
  vendor/clang/dist/test/Analysis/unions-region.m
  vendor/clang/dist/test/Analysis/unused-ivars.m
  vendor/clang/dist/test/CMakeLists.txt
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p3-cxx0x.cpp
  vendor/clang/dist/test/CXX/special/class.free/p6.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
  vendor/clang/dist/test/CodeCompletion/function-templates.cpp
  vendor/clang/dist/test/CodeCompletion/member-access.cpp
  vendor/clang/dist/test/CodeCompletion/objc-message.m
  vendor/clang/dist/test/CodeCompletion/templates.cpp
  vendor/clang/dist/test/CodeGen/2008-08-25-incompatible-cond-expr.m
  vendor/clang/dist/test/CodeGen/2009-01-21-invalid-debug-info.m
  vendor/clang/dist/test/CodeGen/arm_asm_clobber.c
  vendor/clang/dist/test/CodeGen/exprs.c
  vendor/clang/dist/test/CodeGen/function-decay.m
  vendor/clang/dist/test/CodeGen/object-size.c
  vendor/clang/dist/test/CodeGen/rdr-6732143-dangling-block-reference.m
  vendor/clang/dist/test/CodeGenCXX/class-layout.cpp
  vendor/clang/dist/test/CodeGenCXX/constructor-template.cpp
  vendor/clang/dist/test/CodeGenCXX/debug-info.cpp
  vendor/clang/dist/test/CodeGenCXX/eh.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-subst-std.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle.cpp
  vendor/clang/dist/test/CodeGenCXX/member-function-pointers.cpp
  vendor/clang/dist/test/CodeGenCXX/predefined-expr.cpp
  vendor/clang/dist/test/CodeGenCXX/references.cpp
  vendor/clang/dist/test/CodeGenCXX/rtti.cpp
  vendor/clang/dist/test/CodeGenCXX/static-assert.cpp
  vendor/clang/dist/test/CodeGenCXX/static-init.cpp
  vendor/clang/dist/test/CodeGenCXX/virt-dtor-key.cpp
  vendor/clang/dist/test/CodeGenCXX/virt.cpp
  vendor/clang/dist/test/CodeGenObjC/2008-10-23-invalid-icmp.m
  vendor/clang/dist/test/CodeGenObjC/PR4541.m
  vendor/clang/dist/test/CodeGenObjC/PR4894-recursive-debug-crash.m
  vendor/clang/dist/test/CodeGenObjC/bitfield-1.m
  vendor/clang/dist/test/CodeGenObjC/bitfield-ivar-metadata.m
  vendor/clang/dist/test/CodeGenObjC/bitfield-ivar-offsets.m
  vendor/clang/dist/test/CodeGenObjC/blocks-1.m
  vendor/clang/dist/test/CodeGenObjC/blocks-2.m
  vendor/clang/dist/test/CodeGenObjC/blocks-3.m
  vendor/clang/dist/test/CodeGenObjC/blocks.m
  vendor/clang/dist/test/CodeGenObjC/category-super-class-meth.m
  vendor/clang/dist/test/CodeGenObjC/class-getter-dotsyntax.m
  vendor/clang/dist/test/CodeGenObjC/class-type.m
  vendor/clang/dist/test/CodeGenObjC/compatibility-alias.m
  vendor/clang/dist/test/CodeGenObjC/constant-strings.m
  vendor/clang/dist/test/CodeGenObjC/continuation-class.m
  vendor/clang/dist/test/CodeGenObjC/deadcode_strip_used_var.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-linkagename.m
  vendor/clang/dist/test/CodeGenObjC/dot-syntax-1.m
  vendor/clang/dist/test/CodeGenObjC/dot-syntax.m
  vendor/clang/dist/test/CodeGenObjC/encode-test-1.m
  vendor/clang/dist/test/CodeGenObjC/encode-test-2.m
  vendor/clang/dist/test/CodeGenObjC/encode-test-3.m
  vendor/clang/dist/test/CodeGenObjC/encode-test-4.m
  vendor/clang/dist/test/CodeGenObjC/encode-test-5.m
  vendor/clang/dist/test/CodeGenObjC/encode-test.m
  vendor/clang/dist/test/CodeGenObjC/for-in.m
  vendor/clang/dist/test/CodeGenObjC/forward-class-impl-metadata.m
  vendor/clang/dist/test/CodeGenObjC/hidden-visibility.m
  vendor/clang/dist/test/CodeGenObjC/hidden.m
  vendor/clang/dist/test/CodeGenObjC/image-info.m
  vendor/clang/dist/test/CodeGenObjC/implicit-objc_msgSend.m
  vendor/clang/dist/test/CodeGenObjC/implicit-property.m
  vendor/clang/dist/test/CodeGenObjC/interface-layout-64.m
  vendor/clang/dist/test/CodeGenObjC/interface.m
  vendor/clang/dist/test/CodeGenObjC/ivar-layout-64-bitfields.m
  vendor/clang/dist/test/CodeGenObjC/ivar-layout-64.m
  vendor/clang/dist/test/CodeGenObjC/ivar-layout-no-optimize.m
  vendor/clang/dist/test/CodeGenObjC/ivars.m
  vendor/clang/dist/test/CodeGenObjC/link-errors.m
  vendor/clang/dist/test/CodeGenObjC/message-arrays.m
  vendor/clang/dist/test/CodeGenObjC/messages-2.m
  vendor/clang/dist/test/CodeGenObjC/messages.m
  vendor/clang/dist/test/CodeGenObjC/metadata-symbols-32.m
  vendor/clang/dist/test/CodeGenObjC/metadata-symbols-64.m
  vendor/clang/dist/test/CodeGenObjC/metadata_symbols.m
  vendor/clang/dist/test/CodeGenObjC/missing-atend-metadata.m
  vendor/clang/dist/test/CodeGenObjC/newproperty-nested-synthesis-1.m
  vendor/clang/dist/test/CodeGenObjC/no-category-class.m
  vendor/clang/dist/test/CodeGenObjC/non-lazy-classes.m
  vendor/clang/dist/test/CodeGenObjC/objc-align.m
  vendor/clang/dist/test/CodeGenObjC/objc-assign-ivar.m
  vendor/clang/dist/test/CodeGenObjC/objc-gc-aggr-assign.m
  vendor/clang/dist/test/CodeGenObjC/objc-read-weak-byref.m
  vendor/clang/dist/test/CodeGenObjC/objc2-assign-global.m
  vendor/clang/dist/test/CodeGenObjC/objc2-ivar-assign.m
  vendor/clang/dist/test/CodeGenObjC/objc2-new-gc-api-strongcast.m
  vendor/clang/dist/test/CodeGenObjC/objc2-no-strong-cast.m
  vendor/clang/dist/test/CodeGenObjC/objc2-no-write-barrier.m
  vendor/clang/dist/test/CodeGenObjC/objc2-property-encode.m
  vendor/clang/dist/test/CodeGenObjC/objc2-protocol-enc.m
  vendor/clang/dist/test/CodeGenObjC/objc2-retain-codegen.m
  vendor/clang/dist/test/CodeGenObjC/objc2-strong-cast-1.m
  vendor/clang/dist/test/CodeGenObjC/objc2-strong-cast.m
  vendor/clang/dist/test/CodeGenObjC/objc2-weak-assign.m
  vendor/clang/dist/test/CodeGenObjC/objc2-weak-compare.m
  vendor/clang/dist/test/CodeGenObjC/objc2-weak-import-attribute.m
  vendor/clang/dist/test/CodeGenObjC/objc2-weak-ivar-debug.m
  vendor/clang/dist/test/CodeGenObjC/objc2-weak-ivar.m
  vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-2.m
  vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-3.m
  vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-4.m
  vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier-5.m
  vendor/clang/dist/test/CodeGenObjC/objc2-write-barrier.m
  vendor/clang/dist/test/CodeGenObjC/object-incr-decr-1.m
  vendor/clang/dist/test/CodeGenObjC/overloadable.m
  vendor/clang/dist/test/CodeGenObjC/predefined-expr.m
  vendor/clang/dist/test/CodeGenObjC/property-aggr-type.m
  vendor/clang/dist/test/CodeGenObjC/property-agrr-getter.m
  vendor/clang/dist/test/CodeGenObjC/property-complex.m
  vendor/clang/dist/test/CodeGenObjC/property-getter-dot-syntax.m
  vendor/clang/dist/test/CodeGenObjC/property-incr-decr-1.m
  vendor/clang/dist/test/CodeGenObjC/property-setter-attr.m
  vendor/clang/dist/test/CodeGenObjC/property.m
  vendor/clang/dist/test/CodeGenObjC/protocol-in-extended-class.m
  vendor/clang/dist/test/CodeGenObjC/protocol-property-synth.m
  vendor/clang/dist/test/CodeGenObjC/protocols-lazy.m
  vendor/clang/dist/test/CodeGenObjC/protocols.m
  vendor/clang/dist/test/CodeGenObjC/runtime-fns.m
  vendor/clang/dist/test/CodeGenObjC/sel-as-builtin-type.m
  vendor/clang/dist/test/CodeGenObjC/super-classmethod-category.m
  vendor/clang/dist/test/CodeGenObjC/super-dotsyntax-property.m
  vendor/clang/dist/test/CodeGenObjC/super-message-fragileabi.m
  vendor/clang/dist/test/CodeGenObjC/synchronized.m
  vendor/clang/dist/test/CodeGenObjC/synthesize_ivar-cont-class.m
  vendor/clang/dist/test/CodeGenObjC/synthesize_ivar.m
  vendor/clang/dist/test/CodeGenObjC/try.m
  vendor/clang/dist/test/CodeGenObjC/undefined-protocol.m
  vendor/clang/dist/test/CodeGenObjC/unname-bf-metadata.m
  vendor/clang/dist/test/CodeGenObjC/variadic-sends.m
  vendor/clang/dist/test/Coverage/ast-printing.m
  vendor/clang/dist/test/Coverage/codegen-gnu.m
  vendor/clang/dist/test/Coverage/codegen-next.m
  vendor/clang/dist/test/Coverage/parse-callbacks.m
  vendor/clang/dist/test/Driver/ccc-add-args.c
  vendor/clang/dist/test/Driver/clang-translation.c
  vendor/clang/dist/test/Driver/clang_f_opts.c
  vendor/clang/dist/test/Driver/cxx-pth.cpp
  vendor/clang/dist/test/Driver/dragonfly.c
  vendor/clang/dist/test/Driver/freebsd.c
  vendor/clang/dist/test/Driver/hello.c
  vendor/clang/dist/test/Driver/openbsd.c
  vendor/clang/dist/test/Driver/parsing.c
  vendor/clang/dist/test/Driver/pth.c
  vendor/clang/dist/test/Driver/qa_override.c
  vendor/clang/dist/test/FixIt/fixit-objc.m
  vendor/clang/dist/test/Index/TestClassDecl.m
  vendor/clang/dist/test/Index/TestClassForwardDecl.m
  vendor/clang/dist/test/Index/c-index-api-fn-scan.m
  vendor/clang/dist/test/Index/c-index-api-loadTU-test.m
  vendor/clang/dist/test/Index/c-index-getCursor-test.m
  vendor/clang/dist/test/Index/code-completion.cpp
  vendor/clang/dist/test/Index/complete-objc-message.m
  vendor/clang/dist/test/Index/objc-decls.m
  vendor/clang/dist/test/Index/objc-message.m
  vendor/clang/dist/test/Misc/message-length.c
  vendor/clang/dist/test/PCH/method_pool.m
  vendor/clang/dist/test/PCH/objc_exprs.m
  vendor/clang/dist/test/PCH/objc_import.m
  vendor/clang/dist/test/PCH/objc_methods.m
  vendor/clang/dist/test/PCH/objc_property.m
  vendor/clang/dist/test/Parser/check-objc2-syntax-1.m
  vendor/clang/dist/test/Parser/check-syntax-1.m
  vendor/clang/dist/test/Parser/cxx-decl.cpp
  vendor/clang/dist/test/Parser/cxx-friend.cpp
  vendor/clang/dist/test/Parser/cxx-using-declaration.cpp
  vendor/clang/dist/test/Parser/encode.m
  vendor/clang/dist/test/Parser/enhanced-proto-1.m
  vendor/clang/dist/test/Parser/expressions.m
  vendor/clang/dist/test/Parser/method-prototype-1.m
  vendor/clang/dist/test/Parser/objc-alias-printing.m
  vendor/clang/dist/test/Parser/objc-category-neg-1.m
  vendor/clang/dist/test/Parser/objc-forcollection-1.m
  vendor/clang/dist/test/Parser/objc-forcollection-neg-2.m
  vendor/clang/dist/test/Parser/objc-forcollection-neg.m
  vendor/clang/dist/test/Parser/objc-foreach-syntax.m
  vendor/clang/dist/test/Parser/objc-init.m
  vendor/clang/dist/test/Parser/objc-interfaces.m
  vendor/clang/dist/test/Parser/objc-messaging-1.m
  vendor/clang/dist/test/Parser/objc-messaging-neg-1.m
  vendor/clang/dist/test/Parser/objc-missing-impl.m
  vendor/clang/dist/test/Parser/objc-property-syntax.m
  vendor/clang/dist/test/Parser/objc-quirks.m
  vendor/clang/dist/test/Parser/objc-synthesized-recover.m
  vendor/clang/dist/test/Parser/objc-try-catch-1.m
  vendor/clang/dist/test/Parser/objc-type-printing.m
  vendor/clang/dist/test/Parser/prefix-attributes.m
  vendor/clang/dist/test/Parser/selector-1.m
  vendor/clang/dist/test/Preprocessor/dump_macros.c
  vendor/clang/dist/test/Preprocessor/header_lookup1.c
  vendor/clang/dist/test/Preprocessor/macro_fn_disable_expand.c
  vendor/clang/dist/test/Preprocessor/non_fragile_feature.m
  vendor/clang/dist/test/Preprocessor/non_fragile_feature1.m
  vendor/clang/dist/test/Preprocessor/objc-pp.m
  vendor/clang/dist/test/Rewriter/block-test.c
  vendor/clang/dist/test/Rewriter/crash.m
  vendor/clang/dist/test/Rewriter/finally.m
  vendor/clang/dist/test/Rewriter/id-test-3.m
  vendor/clang/dist/test/Rewriter/ivar-encoding-1.m
  vendor/clang/dist/test/Rewriter/ivar-encoding-2.m
  vendor/clang/dist/test/Rewriter/metadata-test-1.m
  vendor/clang/dist/test/Rewriter/metadata-test-2.m
  vendor/clang/dist/test/Rewriter/method-encoding-1.m
  vendor/clang/dist/test/Rewriter/objc-encoding-bug-1.m
  vendor/clang/dist/test/Rewriter/objc-ivar-receiver-1.m
  vendor/clang/dist/test/Rewriter/objc-string-concat-1.m
  vendor/clang/dist/test/Rewriter/objc-super-test.m
  vendor/clang/dist/test/Rewriter/objc-synchronized-1.m
  vendor/clang/dist/test/Rewriter/properties.m
  vendor/clang/dist/test/Rewriter/protocol-rewrite-1.m
  vendor/clang/dist/test/Rewriter/rewrite-api-bug.m
  vendor/clang/dist/test/Rewriter/rewrite-foreach-1.m
  vendor/clang/dist/test/Rewriter/rewrite-foreach-2.m
  vendor/clang/dist/test/Rewriter/rewrite-foreach-3.m
  vendor/clang/dist/test/Rewriter/rewrite-foreach-4.m
  vendor/clang/dist/test/Rewriter/rewrite-foreach-5.m
  vendor/clang/dist/test/Rewriter/rewrite-foreach-6.m
  vendor/clang/dist/test/Rewriter/rewrite-nest.m
  vendor/clang/dist/test/Rewriter/rewrite-protocol-type-1.m
  vendor/clang/dist/test/Rewriter/rewrite-try-catch.m
  vendor/clang/dist/test/Rewriter/static-type-protocol-1.m
  vendor/clang/dist/test/Rewriter/undecl-objc-h.m
  vendor/clang/dist/test/Rewriter/undeclared-method-1.m
  vendor/clang/dist/test/Rewriter/undef-field-reference-1.m
  vendor/clang/dist/test/Rewriter/va-method.m
  vendor/clang/dist/test/Sema/block-as-object.m
  vendor/clang/dist/test/Sema/builtin-prefetch.c
  vendor/clang/dist/test/Sema/compare.c
  vendor/clang/dist/test/Sema/exprs.c
  vendor/clang/dist/test/Sema/init.c
  vendor/clang/dist/test/Sema/ms-fuzzy-asm.c
  vendor/clang/dist/test/Sema/nested-redef.c
  vendor/clang/dist/test/Sema/rdar6248119.m
  vendor/clang/dist/test/Sema/return.c
  vendor/clang/dist/test/Sema/vector-init.c
  vendor/clang/dist/test/SemaCXX/attr-cxx0x.cpp
  vendor/clang/dist/test/SemaCXX/compare.cpp
  vendor/clang/dist/test/SemaCXX/convert-to-bool.cpp
  vendor/clang/dist/test/SemaCXX/decl-init-ref.cpp
  vendor/clang/dist/test/SemaCXX/default-assignment-operator.cpp
  vendor/clang/dist/test/SemaCXX/enum.cpp
  vendor/clang/dist/test/SemaCXX/exception-spec.cpp
  vendor/clang/dist/test/SemaCXX/friend.cpp
  vendor/clang/dist/test/SemaCXX/i-c-e-cxx.cpp
  vendor/clang/dist/test/SemaCXX/linkage-spec.cpp
  vendor/clang/dist/test/SemaCXX/member-expr.cpp
  vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp
  vendor/clang/dist/test/SemaCXX/new-delete.cpp
  vendor/clang/dist/test/SemaCXX/offsetof.cpp
  vendor/clang/dist/test/SemaCXX/overload-call-copycon.cpp
  vendor/clang/dist/test/SemaCXX/overload-call.cpp
  vendor/clang/dist/test/SemaCXX/overloaded-operator.cpp
  vendor/clang/dist/test/SemaCXX/qualified-id-lookup.cpp
  vendor/clang/dist/test/SemaCXX/ref-init-ambiguous.cpp
  vendor/clang/dist/test/SemaCXX/references.cpp
  vendor/clang/dist/test/SemaCXX/rval-references.cpp
  vendor/clang/dist/test/SemaCXX/type-traits.cpp
  vendor/clang/dist/test/SemaCXX/using-decl-1.cpp
  vendor/clang/dist/test/SemaCXX/using-decl-templates.cpp
  vendor/clang/dist/test/SemaCXX/using-directive.cpp
  vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp
  vendor/clang/dist/test/SemaCXX/virtual-override.cpp
  vendor/clang/dist/test/SemaObjC/ContClassPropertyLookup.m
  vendor/clang/dist/test/SemaObjC/DoubleMethod.m
  vendor/clang/dist/test/SemaObjC/access-property-getter.m
  vendor/clang/dist/test/SemaObjC/alias-test-1.m
  vendor/clang/dist/test/SemaObjC/alias-test-2.m
  vendor/clang/dist/test/SemaObjC/argument-checking.m
  vendor/clang/dist/test/SemaObjC/at-defs.m
  vendor/clang/dist/test/SemaObjC/atomoic-property-synnthesis-rules.m
  vendor/clang/dist/test/SemaObjC/attr-cleanup.m
  vendor/clang/dist/test/SemaObjC/attr-deprecated.m
  vendor/clang/dist/test/SemaObjC/attr-malloc.m
  vendor/clang/dist/test/SemaObjC/attr-objc-exception.m
  vendor/clang/dist/test/SemaObjC/attr-objc-gc.m
  vendor/clang/dist/test/SemaObjC/bad-receiver-1.m
  vendor/clang/dist/test/SemaObjC/block-attr.m
  vendor/clang/dist/test/SemaObjC/block-explicit-return-type.m
  vendor/clang/dist/test/SemaObjC/block-ivar.m
  vendor/clang/dist/test/SemaObjC/blocks.m
  vendor/clang/dist/test/SemaObjC/call-super-2.m
  vendor/clang/dist/test/SemaObjC/catch-stmt.m
  vendor/clang/dist/test/SemaObjC/category-1.m
  vendor/clang/dist/test/SemaObjC/category-method-lookup-2.m
  vendor/clang/dist/test/SemaObjC/category-method-lookup.m
  vendor/clang/dist/test/SemaObjC/check-dup-decl-methods-1.m
  vendor/clang/dist/test/SemaObjC/check-dup-objc-decls-1.m
  vendor/clang/dist/test/SemaObjC/class-bitfield.m
  vendor/clang/dist/test/SemaObjC/class-conforming-protocol-1.m
  vendor/clang/dist/test/SemaObjC/class-conforming-protocol-2.m
  vendor/clang/dist/test/SemaObjC/class-def-test-1.m
  vendor/clang/dist/test/SemaObjC/class-extension-dup-methods.m
  vendor/clang/dist/test/SemaObjC/class-getter-using-dotsyntax.m
  vendor/clang/dist/test/SemaObjC/class-impl-1.m
  vendor/clang/dist/test/SemaObjC/class-method-lookup.m
  vendor/clang/dist/test/SemaObjC/class-method-self.m
  vendor/clang/dist/test/SemaObjC/class-property-access.m
  vendor/clang/dist/test/SemaObjC/class-proto-1.m
  vendor/clang/dist/test/SemaObjC/class-protocol.m
  vendor/clang/dist/test/SemaObjC/cocoa.m
  vendor/clang/dist/test/SemaObjC/compare-qualified-id.m
  vendor/clang/dist/test/SemaObjC/compatible-protocol-qualified-types.m
  vendor/clang/dist/test/SemaObjC/comptypes-1.m
  vendor/clang/dist/test/SemaObjC/comptypes-2.m
  vendor/clang/dist/test/SemaObjC/comptypes-3.m
  vendor/clang/dist/test/SemaObjC/comptypes-4.m
  vendor/clang/dist/test/SemaObjC/comptypes-5.m
  vendor/clang/dist/test/SemaObjC/comptypes-6.m
  vendor/clang/dist/test/SemaObjC/comptypes-7.m
  vendor/clang/dist/test/SemaObjC/comptypes-8.m
  vendor/clang/dist/test/SemaObjC/comptypes-9.m
  vendor/clang/dist/test/SemaObjC/comptypes-a.m
  vendor/clang/dist/test/SemaObjC/comptypes-legal.m
  vendor/clang/dist/test/SemaObjC/conditional-expr-2.m
  vendor/clang/dist/test/SemaObjC/conditional-expr-3.m
  vendor/clang/dist/test/SemaObjC/conditional-expr-4.m
  vendor/clang/dist/test/SemaObjC/conditional-expr-5.m
  vendor/clang/dist/test/SemaObjC/conditional-expr-6.m
  vendor/clang/dist/test/SemaObjC/conditional-expr.m
  vendor/clang/dist/test/SemaObjC/conflicting-ivar-test-1.m
  vendor/clang/dist/test/SemaObjC/continuation-class-err.m
  vendor/clang/dist/test/SemaObjC/crash-label.m
  vendor/clang/dist/test/SemaObjC/deref-interface.m
  vendor/clang/dist/test/SemaObjC/duplicate-ivar-check.m
  vendor/clang/dist/test/SemaObjC/enhanced-proto-2.m
  vendor/clang/dist/test/SemaObjC/error-property-gc-attr.m
  vendor/clang/dist/test/SemaObjC/exprs.m
  vendor/clang/dist/test/SemaObjC/foreach.m
  vendor/clang/dist/test/SemaObjC/format-arg-attribute.m
  vendor/clang/dist/test/SemaObjC/format-strings-objc.m
  vendor/clang/dist/test/SemaObjC/forward-class-1.m
  vendor/clang/dist/test/SemaObjC/forward-class-receiver.m
  vendor/clang/dist/test/SemaObjC/gcc-cast-ext.m
  vendor/clang/dist/test/SemaObjC/id-isa-ref.m
  vendor/clang/dist/test/SemaObjC/id.m
  vendor/clang/dist/test/SemaObjC/id_builtin.m
  vendor/clang/dist/test/SemaObjC/idiomatic-parentheses.m
  vendor/clang/dist/test/SemaObjC/ignore-weakimport-method.m
  vendor/clang/dist/test/SemaObjC/incompatible-protocol-qualified-types.m
  vendor/clang/dist/test/SemaObjC/inst-method-lookup-in-root.m
  vendor/clang/dist/test/SemaObjC/interface-1.m
  vendor/clang/dist/test/SemaObjC/interface-layout-2.m
  vendor/clang/dist/test/SemaObjC/interface-layout.m
  vendor/clang/dist/test/SemaObjC/interface-scope-2.m
  vendor/clang/dist/test/SemaObjC/interface-scope.m
  vendor/clang/dist/test/SemaObjC/interface-tu-variable.m
  vendor/clang/dist/test/SemaObjC/invalid-code.m
  vendor/clang/dist/test/SemaObjC/invalid-objc-decls-1.m
  vendor/clang/dist/test/SemaObjC/invalid-receiver.m
  vendor/clang/dist/test/SemaObjC/invalid-typename.m
  vendor/clang/dist/test/SemaObjC/ivar-access-package.m
  vendor/clang/dist/test/SemaObjC/ivar-access-tests.m
  vendor/clang/dist/test/SemaObjC/ivar-lookup.m
  vendor/clang/dist/test/SemaObjC/ivar-ref-misuse.m
  vendor/clang/dist/test/SemaObjC/ivar-sem-check-1.m
  vendor/clang/dist/test/SemaObjC/ivar-sem-check-2.m
  vendor/clang/dist/test/SemaObjC/legacy-implementation-1.m
  vendor/clang/dist/test/SemaObjC/message.m
  vendor/clang/dist/test/SemaObjC/method-arg-decay.m
  vendor/clang/dist/test/SemaObjC/method-attributes.m
  vendor/clang/dist/test/SemaObjC/method-bad-param.m
  vendor/clang/dist/test/SemaObjC/method-conflict.m
  vendor/clang/dist/test/SemaObjC/method-def-1.m
  vendor/clang/dist/test/SemaObjC/method-def-2.m
  vendor/clang/dist/test/SemaObjC/method-encoding-2.m
  vendor/clang/dist/test/SemaObjC/method-lookup-2.m
  vendor/clang/dist/test/SemaObjC/method-lookup-3.m
  vendor/clang/dist/test/SemaObjC/method-lookup-4.m
  vendor/clang/dist/test/SemaObjC/method-lookup.m
  vendor/clang/dist/test/SemaObjC/method-no-context.m
  vendor/clang/dist/test/SemaObjC/method-not-defined.m
  vendor/clang/dist/test/SemaObjC/method-sentinel-attr.m
  vendor/clang/dist/test/SemaObjC/method-typecheck-1.m
  vendor/clang/dist/test/SemaObjC/method-typecheck-2.m
  vendor/clang/dist/test/SemaObjC/method-undef-category-warn-1.m
  vendor/clang/dist/test/SemaObjC/method-undef-extension-warn-1.m
  vendor/clang/dist/test/SemaObjC/method-undefined-warn-1.m
  vendor/clang/dist/test/SemaObjC/missing-method-context.m
  vendor/clang/dist/test/SemaObjC/newproperty-class-method-1.m
  vendor/clang/dist/test/SemaObjC/no-gc-weak-test.m
  vendor/clang/dist/test/SemaObjC/no-warn-qual-mismatch.m
  vendor/clang/dist/test/SemaObjC/no-warn-synth-protocol-meth.m
  vendor/clang/dist/test/SemaObjC/no-warn-unimpl-method.m
  vendor/clang/dist/test/SemaObjC/nonnull.m
  vendor/clang/dist/test/SemaObjC/nsobject-attribute-1.m
  vendor/clang/dist/test/SemaObjC/nsobject-attribute.m
  vendor/clang/dist/test/SemaObjC/objc-string-constant.m
  vendor/clang/dist/test/SemaObjC/objc2-merge-gc-attribue-decl.m
  vendor/clang/dist/test/SemaObjC/objc2-warn-weak-decl.m
  vendor/clang/dist/test/SemaObjC/property-10.m
  vendor/clang/dist/test/SemaObjC/property-11.m
  vendor/clang/dist/test/SemaObjC/property-12.m
  vendor/clang/dist/test/SemaObjC/property-13.m
  vendor/clang/dist/test/SemaObjC/property-2.m
  vendor/clang/dist/test/SemaObjC/property-3.m
  vendor/clang/dist/test/SemaObjC/property-4.m
  vendor/clang/dist/test/SemaObjC/property-5.m
  vendor/clang/dist/test/SemaObjC/property-6.m
  vendor/clang/dist/test/SemaObjC/property-7.m
  vendor/clang/dist/test/SemaObjC/property-8.m
  vendor/clang/dist/test/SemaObjC/property-9-impl-method.m
  vendor/clang/dist/test/SemaObjC/property-9.m
  vendor/clang/dist/test/SemaObjC/property-category-1.m
  vendor/clang/dist/test/SemaObjC/property-category-2.m
  vendor/clang/dist/test/SemaObjC/property-category-3.m
  vendor/clang/dist/test/SemaObjC/property-category-4.m
  vendor/clang/dist/test/SemaObjC/property-error-readonly-assign.m
  vendor/clang/dist/test/SemaObjC/property-expression-error.m
  vendor/clang/dist/test/SemaObjC/property-impl-misuse.m
  vendor/clang/dist/test/SemaObjC/property-inherited.m
  vendor/clang/dist/test/SemaObjC/property-ivar-mismatch.m
  vendor/clang/dist/test/SemaObjC/property-method-lookup-impl.m
  vendor/clang/dist/test/SemaObjC/property-missing.m
  vendor/clang/dist/test/SemaObjC/property-nonfragile-abi.m
  vendor/clang/dist/test/SemaObjC/property-noprotocol-warning.m
  vendor/clang/dist/test/SemaObjC/property-redundant-decl-accessor.m
  vendor/clang/dist/test/SemaObjC/property-typecheck-1.m
  vendor/clang/dist/test/SemaObjC/property-user-setter.m
  vendor/clang/dist/test/SemaObjC/property-weak.m
  vendor/clang/dist/test/SemaObjC/property.m
  vendor/clang/dist/test/SemaObjC/props-on-prots.m
  vendor/clang/dist/test/SemaObjC/protocol-archane.m
  vendor/clang/dist/test/SemaObjC/protocol-attribute.m
  vendor/clang/dist/test/SemaObjC/protocol-expr-1.m
  vendor/clang/dist/test/SemaObjC/protocol-expr-neg-1.m
  vendor/clang/dist/test/SemaObjC/protocol-id-test-1.m
  vendor/clang/dist/test/SemaObjC/protocol-id-test-2.m
  vendor/clang/dist/test/SemaObjC/protocol-id-test-3.m
  vendor/clang/dist/test/SemaObjC/protocol-implementation-inherited.m
  vendor/clang/dist/test/SemaObjC/protocol-lookup-2.m
  vendor/clang/dist/test/SemaObjC/protocol-lookup.m
  vendor/clang/dist/test/SemaObjC/protocol-qualified-class-unsupported.m
  vendor/clang/dist/test/SemaObjC/protocol-typecheck.m
  vendor/clang/dist/test/SemaObjC/protocols.m
  vendor/clang/dist/test/SemaObjC/rdr-6211479-array-property.m
  vendor/clang/dist/test/SemaObjC/return.m
  vendor/clang/dist/test/SemaObjC/scope-check.m
  vendor/clang/dist/test/SemaObjC/selector-1.m
  vendor/clang/dist/test/SemaObjC/selector-error.m
  vendor/clang/dist/test/SemaObjC/selector-overload.m
  vendor/clang/dist/test/SemaObjC/sizeof-interface.m
  vendor/clang/dist/test/SemaObjC/static-ivar-ref-1.m
  vendor/clang/dist/test/SemaObjC/stmts.m
  vendor/clang/dist/test/SemaObjC/string.m
  vendor/clang/dist/test/SemaObjC/super-cat-prot.m
  vendor/clang/dist/test/SemaObjC/super-property-message-expr.m
  vendor/clang/dist/test/SemaObjC/super-property-notation.m
  vendor/clang/dist/test/SemaObjC/super.m
  vendor/clang/dist/test/SemaObjC/synchronized.m
  vendor/clang/dist/test/SemaObjC/synthesize-setter-contclass.m
  vendor/clang/dist/test/SemaObjC/synthesized-ivar.m
  vendor/clang/dist/test/SemaObjC/try-catch.m
  vendor/clang/dist/test/SemaObjC/typedef-class.m
  vendor/clang/dist/test/SemaObjC/ucn-objc-string.m
  vendor/clang/dist/test/SemaObjC/undeclared-selector.m
  vendor/clang/dist/test/SemaObjC/undef-class-messagin-error.m
  vendor/clang/dist/test/SemaObjC/undef-protocol-methods-1.m
  vendor/clang/dist/test/SemaObjC/undef-superclass-1.m
  vendor/clang/dist/test/SemaObjC/undefined-protocol-type-1.m
  vendor/clang/dist/test/SemaObjC/unused.m
  vendor/clang/dist/test/SemaObjC/va-method-1.m
  vendor/clang/dist/test/SemaObjC/warn-assign-property-nscopying.m
  vendor/clang/dist/test/SemaObjC/warn-selector-selection.m
  vendor/clang/dist/test/SemaObjC/warn-superclass-method-mismatch.m
  vendor/clang/dist/test/SemaObjC/warn-weak-field.m
  vendor/clang/dist/test/SemaObjC/weak-attr-ivar.m
  vendor/clang/dist/test/SemaObjC/writable-property-in-superclass.m
  vendor/clang/dist/test/SemaObjCXX/blocks.mm
  vendor/clang/dist/test/SemaObjCXX/linkage-spec.mm
  vendor/clang/dist/test/SemaObjCXX/objc-decls-inside-namespace.mm
  vendor/clang/dist/test/SemaObjCXX/overload.mm
  vendor/clang/dist/test/SemaObjCXX/protocol-lookup.mm
  vendor/clang/dist/test/SemaObjCXX/references.mm
  vendor/clang/dist/test/SemaObjCXX/reserved-keyword-selectors.mm
  vendor/clang/dist/test/SemaObjCXX/vararg-non-pod.mm
  vendor/clang/dist/test/SemaObjCXX/void_to_obj.mm
  vendor/clang/dist/test/SemaTemplate/class-template-id.cpp
  vendor/clang/dist/test/SemaTemplate/constructor-template.cpp
  vendor/clang/dist/test/SemaTemplate/friend-template.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-expr-1.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-expr-4.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-function-1.mm
  vendor/clang/dist/test/SemaTemplate/instantiate-method.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-objc-1.mm
  vendor/clang/dist/test/SemaTemplate/instantiate-static-var.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-using-decl.cpp
  vendor/clang/dist/test/SemaTemplate/qualified-id.cpp
  vendor/clang/dist/test/lit.cfg
  vendor/clang/dist/tools/CIndex/CIndex.cpp
  vendor/clang/dist/tools/CIndex/CIndex.exports
  vendor/clang/dist/tools/CIndex/CMakeLists.txt
  vendor/clang/dist/tools/CIndex/Makefile
  vendor/clang/dist/tools/CMakeLists.txt
  vendor/clang/dist/tools/Makefile
  vendor/clang/dist/tools/c-index-test/CMakeLists.txt
  vendor/clang/dist/tools/c-index-test/Makefile
  vendor/clang/dist/tools/c-index-test/c-index-test.c
  vendor/clang/dist/tools/driver/CMakeLists.txt
  vendor/clang/dist/tools/driver/Makefile
  vendor/clang/dist/tools/driver/cc1_main.cpp
  vendor/clang/dist/tools/driver/driver.cpp
  vendor/clang/dist/tools/index-test/CMakeLists.txt
  vendor/clang/dist/tools/index-test/Makefile
  vendor/clang/dist/tools/index-test/index-test.cpp
  vendor/clang/dist/tools/scan-build/ccc-analyzer
  vendor/clang/dist/tools/scan-build/scan-build
  vendor/clang/dist/utils/C++Tests/LLVM-Code-Syntax/lit.local.cfg
  vendor/clang/dist/utils/C++Tests/LLVM-Syntax/lit.local.cfg
  vendor/clang/dist/utils/clang-completion-mode.el
  vendor/clang/dist/www/analyzer/installation.html
  vendor/clang/dist/www/analyzer/latest_checker.html.incl
  vendor/clang/dist/www/get_started.html
  vendor/clang/dist/www/hacking.html

Modified: vendor/clang/dist/NOTES.txt
==============================================================================
--- vendor/clang/dist/NOTES.txt	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/NOTES.txt	Tue Dec 15 18:49:47 2009	(r200583)
@@ -17,7 +17,7 @@ Creating and using a PTH file for perfor
 build).
 
 $ clang -ccc-pch-is-pth -x objective-c-header INPUTS/Cocoa_h.m -o /tmp/tokencache
-$ clang-cc -token-cache /tmp/tokencache INPUTS/Cocoa_h.m
+$ clang -cc1 -token-cache /tmp/tokencache INPUTS/Cocoa_h.m
 
 //===---------------------------------------------------------------------===//
 

Modified: vendor/clang/dist/TODO.txt
==============================================================================
--- vendor/clang/dist/TODO.txt	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/TODO.txt	Tue Dec 15 18:49:47 2009	(r200583)
@@ -65,7 +65,6 @@ More ideas for code modification hints:
   - If no member of a given name is found in a class/struct, search through the names of entities that do exist in the class and suggest the closest candidate. e.g., if I write "DS.setTypeSpecType", it would suggest "DS.SetTypeSpecType" (edit distance = 1).
   - If a class member is defined out-of-line but isn't in the class declaration (and there are no close matches!), provide the option to add an in-class declaration.
   - Fix-it hints for the inclusion of headers when needed for particular features (e.g., <typeinfo> for typeid)
-  - Change "foo.bar" to "foo->bar" when "foo" is a pointer.
 
 //===---------------------------------------------------------------------===//
 

Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj
==============================================================================
--- vendor/clang/dist/clang.xcodeproj/project.pbxproj	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/clang.xcodeproj/project.pbxproj	Tue Dec 15 18:49:47 2009	(r200583)
@@ -37,13 +37,14 @@
 		1A6B6CD410693FC900BB4A8F /* CodeCompleteConsumer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6CD110693FC900BB4A8F /* CodeCompleteConsumer.cpp */; };
 		1A6B6CD510693FC900BB4A8F /* SemaCodeComplete.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6CD210693FC900BB4A8F /* SemaCodeComplete.cpp */; };
 		1A6B6E9A1069833600BB4A8F /* CGExprCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6E991069833600BB4A8F /* CGExprCXX.cpp */; };
-		1A6C01F7108128710072DEE4 /* CGRtti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6C01F6108128710072DEE4 /* CGRtti.cpp */; };
+		1A6C01F7108128710072DEE4 /* CGRTTI.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6C01F6108128710072DEE4 /* CGRTTI.cpp */; };
 		1A6FE7090FD6F85800E00CA9 /* CGTemporaries.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6FE7080FD6F85800E00CA9 /* CGTemporaries.cpp */; };
 		1A701B640F7C8FE400FEC4D1 /* SemaAccess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A701B630F7C8FE400FEC4D1 /* SemaAccess.cpp */; };
 		1A7342480C7B57D500122F56 /* CGObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7342470C7B57D500122F56 /* CGObjC.cpp */; };
 		1A81AA19108144F40094E50B /* CGVtable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A81AA18108144F40094E50B /* CGVtable.cpp */; };
 		1A869A700BA2164C008DA07A /* LiteralSupport.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A869A6E0BA2164C008DA07A /* LiteralSupport.h */; };
 		1A869AA80BA21ABA008DA07A /* LiteralSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A869AA70BA21ABA008DA07A /* LiteralSupport.cpp */; };
+		1A986AB710D0746D00A8EA9E /* CGDeclCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A986AB610D0746D00A8EA9E /* CGDeclCXX.cpp */; };
 		1AA1D91810125DE30078DEBC /* RecordLayoutBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AA1D91610125DE30078DEBC /* RecordLayoutBuilder.cpp */; };
 		1ABC36940C7A4BDC006DB0AB /* CGBuiltin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ABC36930C7A4BDC006DB0AB /* CGBuiltin.cpp */; };
 		1ADD795410A90C6100741BBA /* TypePrinter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ADD795110A90C6100741BBA /* TypePrinter.cpp */; };
@@ -53,7 +54,6 @@
 		1AE4EE3E103B89ED00888A23 /* StmtProfile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AE4EE3D103B89ED00888A23 /* StmtProfile.cpp */; };
 		1AE4EE40103B8A0A00888A23 /* TargetABIInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AE4EE3F103B8A0A00888A23 /* TargetABIInfo.cpp */; };
 		1AF1B50F109A4FB800AFAFAC /* CGException.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AF1B50E109A4FB800AFAFAC /* CGException.cpp */; };
-		1AFEF4070F8A6B2300476F2B /* clang-cc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFEF4050F8A6B2300476F2B /* clang-cc.cpp */; };
 		1AFF8AE31012BFC900D248DA /* CGRecordLayoutBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFF8AE11012BFC900D248DA /* CGRecordLayoutBuilder.cpp */; };
 		3507E4C20E27FE2D00FB7B57 /* CheckObjCInstMethSignature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3507E4C10E27FE2D00FB7B57 /* CheckObjCInstMethSignature.cpp */; };
 		352246E70F5C6BE000D0D279 /* HTMLDiagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E10F5C6BE000D0D279 /* HTMLDiagnostics.cpp */; };
@@ -279,6 +279,7 @@
 		DEF7D9F70C9C8B1A0001F598 /* Rewriter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEF7D9F60C9C8B1A0001F598 /* Rewriter.h */; };
 		DEF7D9F90C9C8B1D0001F598 /* Rewriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF7D9F80C9C8B1D0001F598 /* Rewriter.cpp */; };
 		DEFFECA70DB1546600B4E7C3 /* DeltaTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEFFECA60DB1546600B4E7C3 /* DeltaTree.cpp */; };
+		E16B523510D30B2400430AC9 /* cc1_main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = E16B523410D30B2400430AC9 /* cc1_main.cpp */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXCopyFilesBuildPhase section */
@@ -379,7 +380,7 @@
 		1A6B6CD210693FC900BB4A8F /* SemaCodeComplete.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaCodeComplete.cpp; path = lib/Sema/SemaCodeComplete.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1A6B6CD310693FC900BB4A8F /* SemaTemplate.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = SemaTemplate.h; path = lib/Sema/SemaTemplate.h; sourceTree = "<group>"; tabWidth = 2; };
 		1A6B6E991069833600BB4A8F /* CGExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGExprCXX.cpp; path = lib/CodeGen/CGExprCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
-		1A6C01F6108128710072DEE4 /* CGRtti.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGRtti.cpp; path = lib/CodeGen/CGRtti.cpp; sourceTree = "<group>"; tabWidth = 2; };
+		1A6C01F6108128710072DEE4 /* CGRTTI.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGRTTI.cpp; path = lib/CodeGen/CGRTTI.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1A6FE7080FD6F85800E00CA9 /* CGTemporaries.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGTemporaries.cpp; path = lib/CodeGen/CGTemporaries.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1A7019E90F79BC1100FEC4D1 /* DiagnosticAnalysisKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticAnalysisKinds.td; sourceTree = "<group>"; };
 		1A7019EA0F79BC1100FEC4D1 /* DiagnosticASTKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticASTKinds.td; sourceTree = "<group>"; };
@@ -396,6 +397,7 @@
 		1A81AA5D108278A20094E50B /* CGVtable.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGVtable.h; path = lib/CodeGen/CGVtable.h; sourceTree = "<group>"; tabWidth = 2; };
 		1A869A6E0BA2164C008DA07A /* LiteralSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiteralSupport.h; sourceTree = "<group>"; };
 		1A869AA70BA21ABA008DA07A /* LiteralSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LiteralSupport.cpp; sourceTree = "<group>"; };
+		1A986AB610D0746D00A8EA9E /* CGDeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGDeclCXX.cpp; path = lib/CodeGen/CGDeclCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AA1D91610125DE30078DEBC /* RecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = RecordLayoutBuilder.cpp; path = lib/AST/RecordLayoutBuilder.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AA1D91710125DE30078DEBC /* RecordLayoutBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = RecordLayoutBuilder.h; path = lib/AST/RecordLayoutBuilder.h; sourceTree = "<group>"; tabWidth = 2; };
 		1AB290021045858B00FE33D8 /* PartialDiagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = PartialDiagnostic.h; sourceTree = "<group>"; tabWidth = 2; };
@@ -408,7 +410,6 @@
 		1AE4EE3D103B89ED00888A23 /* StmtProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = StmtProfile.cpp; path = lib/AST/StmtProfile.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AE4EE3F103B8A0A00888A23 /* TargetABIInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = TargetABIInfo.cpp; path = lib/CodeGen/TargetABIInfo.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AF1B50E109A4FB800AFAFAC /* CGException.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGException.cpp; path = lib/CodeGen/CGException.cpp; sourceTree = "<group>"; tabWidth = 2; };
-		1AFEF4050F8A6B2300476F2B /* clang-cc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = "clang-cc.cpp"; path = "tools/clang-cc/clang-cc.cpp"; sourceTree = "<group>"; tabWidth = 2; };
 		1AFF8AE11012BFC900D248DA /* CGRecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGRecordLayoutBuilder.cpp; path = lib/CodeGen/CGRecordLayoutBuilder.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AFF8AE21012BFC900D248DA /* CGRecordLayoutBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGRecordLayoutBuilder.h; path = lib/CodeGen/CGRecordLayoutBuilder.h; sourceTree = "<group>"; tabWidth = 2; };
 		3507E4C10E27FE2D00FB7B57 /* CheckObjCInstMethSignature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CheckObjCInstMethSignature.cpp; path = lib/Analysis/CheckObjCInstMethSignature.cpp; sourceTree = "<group>"; };
@@ -807,6 +808,7 @@
 		DEF7D9F80C9C8B1D0001F598 /* Rewriter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; name = Rewriter.cpp; path = lib/Rewrite/Rewriter.cpp; sourceTree = "<group>"; };
 		DEFFECA30DB093D100B4E7C3 /* DeltaTree.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeltaTree.h; path = clang/Rewrite/DeltaTree.h; sourceTree = "<group>"; };
 		DEFFECA60DB1546600B4E7C3 /* DeltaTree.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeltaTree.cpp; path = lib/Rewrite/DeltaTree.cpp; sourceTree = "<group>"; };
+		E16B523410D30B2400430AC9 /* cc1_main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = cc1_main.cpp; path = tools/driver/cc1_main.cpp; sourceTree = "<group>"; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -1268,13 +1270,14 @@
 				1A4C41BE105B4C0B0047B5E7 /* CGClass.cpp */,
 				1A5D5E570E5E81010023C059 /* CGCXX.cpp */,
 				1A649E1E0F9599DA005B965E /* CGCXX.h */,
-				1A6B6E991069833600BB4A8F /* CGExprCXX.cpp */,
 				35A3E7000DD3874400757F74 /* CGDebugInfo.cpp */,
 				35A3E7010DD3874400757F74 /* CGDebugInfo.h */,
 				DE4264FB0C113592005A861D /* CGDecl.cpp */,
+				1A986AB610D0746D00A8EA9E /* CGDeclCXX.cpp */,
 				1AF1B50E109A4FB800AFAFAC /* CGException.cpp */,
 				DE4772FB0C10EAEC002239E8 /* CGExpr.cpp */,
 				DEF2EFF20C6CDD74000C4259 /* CGExprAgg.cpp */,
+				1A6B6E991069833600BB4A8F /* CGExprCXX.cpp */,
 				DE224FF70C7AA98800D370A5 /* CGExprComplex.cpp */,
 				1A376A2C0D4AED9B002A1C52 /* CGExprConstant.cpp */,
 				DE22526F0C7E82D000D370A5 /* CGExprScalar.cpp */,
@@ -1284,7 +1287,7 @@
 				3552E7580E520DD7003A8CA5 /* CGObjCMac.cpp */,
 				1AFF8AE11012BFC900D248DA /* CGRecordLayoutBuilder.cpp */,
 				1AFF8AE21012BFC900D248DA /* CGRecordLayoutBuilder.h */,
-				1A6C01F6108128710072DEE4 /* CGRtti.cpp */,
+				1A6C01F6108128710072DEE4 /* CGRTTI.cpp */,
 				DE4772F90C10EAE5002239E8 /* CGStmt.cpp */,
 				1A6FE7080FD6F85800E00CA9 /* CGTemporaries.cpp */,
 				35475B230E7997680000BFE4 /* CGValue.h */,
@@ -1539,23 +1542,15 @@
 				90F9EFA8104ABDC400D09A15 /* c-index-test */,
 				9012911E104812DA0083456D /* CIndex */,
 				90FD6DB4103D9763005F5B73 /* index-test */,
-				DEDFE6200F7B3AE90035BD10 /* clang-cc */,
 				DEDFE6210F7B3AF10035BD10 /* clang */,
 			);
 			name = Tools;
 			sourceTree = "<group>";
 		};
-		DEDFE6200F7B3AE90035BD10 /* clang-cc */ = {
-			isa = PBXGroup;
-			children = (
-				1AFEF4050F8A6B2300476F2B /* clang-cc.cpp */,
-			);
-			name = "clang-cc";
-			sourceTree = "<group>";
-		};
 		DEDFE6210F7B3AF10035BD10 /* clang */ = {
 			isa = PBXGroup;
 			children = (
+				E16B523410D30B2400430AC9 /* cc1_main.cpp */,
 				DEDFE6450F7B3B4E0035BD10 /* driver.cpp */,
 			);
 			name = clang;
@@ -1872,7 +1867,6 @@
 				1A701B640F7C8FE400FEC4D1 /* SemaAccess.cpp in Sources */,
 				906BF4B00F83BA2E001071FA /* ConvertUTF.c in Sources */,
 				DEDFF8880F848CF80035BD10 /* TemplateName.cpp in Sources */,
-				1AFEF4070F8A6B2300476F2B /* clang-cc.cpp in Sources */,
 				DEF165710F8FB34D0098507F /* PCHWriter.cpp in Sources */,
 				DEF165750F8FB3510098507F /* PCHReader.cpp in Sources */,
 				DEF168400F9548DC0098507F /* FixItRewriter.cpp in Sources */,
@@ -1927,12 +1921,14 @@
 				1A6B6CD510693FC900BB4A8F /* SemaCodeComplete.cpp in Sources */,
 				1A6B6E9A1069833600BB4A8F /* CGExprCXX.cpp in Sources */,
 				1A535ED9107BC45E000C3AE7 /* CXXInheritance.cpp in Sources */,
-				1A6C01F7108128710072DEE4 /* CGRtti.cpp in Sources */,
+				1A6C01F7108128710072DEE4 /* CGRTTI.cpp in Sources */,
 				1A81AA19108144F40094E50B /* CGVtable.cpp in Sources */,
 				1AF1B50F109A4FB800AFAFAC /* CGException.cpp in Sources */,
 				1ADD795410A90C6100741BBA /* TypePrinter.cpp in Sources */,
 				1ADD795510A90C6100741BBA /* TypeLoc.cpp in Sources */,
 				1ADD795610A90C6100741BBA /* TemplateBase.cpp in Sources */,
+				1A986AB710D0746D00A8EA9E /* CGDeclCXX.cpp in Sources */,
+				E16B523510D30B2400430AC9 /* cc1_main.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};

Modified: vendor/clang/dist/docs/BlockImplementation.txt
==============================================================================
--- vendor/clang/dist/docs/BlockImplementation.txt	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/docs/BlockImplementation.txt	Tue Dec 15 18:49:47 2009	(r200583)
@@ -292,7 +292,7 @@ would be rewritten to be:
     int flags;   //refcount;
     int size;
     int captured_i;
-  } i = { NULL, &i, 0, sizeof(struct _block_byref_i), 11;
+  } i = { NULL, &i, 0, sizeof(struct _block_byref_i), 11 };
 
   i.forwarding->captured_i = 11;
 

Modified: vendor/clang/dist/docs/LanguageExtensions.html
==============================================================================
--- vendor/clang/dist/docs/LanguageExtensions.html	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/docs/LanguageExtensions.html	Tue Dec 15 18:49:47 2009	(r200583)
@@ -23,6 +23,11 @@ td {
 <li><a href="#has_include">Include File Checking Macros</a></li>
 <li><a href="#builtinmacros">Builtin Macros</a></li>
 <li><a href="#vectors">Vectors and Extended Vectors</a></li>
+<li><a href="#checking_language_features">Checks for Standard Language Features</a></li>
+  <ul>
+  <li><a href="#cxx_exceptions">C++ exceptions</a></li>
+  <li><a href="#cxx_rtti">C++ RTTI</a></li>
+  </ul>
 <li><a href="#blocks">Blocks</a></li>
 <li><a href="#overloading-in-c">Function Overloading in C</a></li>
 <li><a href="#builtins">Builtin Functions</a>
@@ -194,6 +199,23 @@ href="#__builtin_shufflevector">__builti
 <p>Query for this feature with __has_feature(attribute_ext_vector_type).</p>
 
 <!-- ======================================================================= -->
+<h2 id="checking_language_features">Checks for Standard Language Features</h2>
+<!-- ======================================================================= -->
+
+<p>The <tt>__has_feature</tt> macro can be used to query if certain standard language features are
+enabled.  Those features are listed here.</p>
+
+<h3 id="cxx_exceptions">C++ exceptions</h3>
+
+<p>Use <tt>__has_feature(cxx_exceptions)</tt> to determine if C++ exceptions have been enabled. For
+example, compiling code with <tt>-fexceptions</tt> enables C++ exceptions.</p>
+
+<h3 id="cxx_rtti">C++ RTTI</h3>
+
+<p>Use <tt>__has_feature(cxx_rtti)</tt> to determine if C++ RTTI has been enabled. For example,
+compiling code with <tt>-fno-rtti</tt> disables the use of RTTI.</p>
+
+<!-- ======================================================================= -->
 <h2 id="blocks">Blocks</h2>
 <!-- ======================================================================= -->
 

Modified: vendor/clang/dist/docs/PCHInternals.html
==============================================================================
--- vendor/clang/dist/docs/PCHInternals.html	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/docs/PCHInternals.html	Tue Dec 15 18:49:47 2009	(r200583)
@@ -26,7 +26,7 @@
   <p><b>Table of Contents</b></p>
   <ul>
     <li><a href="#usage">Using Precompiled Headers with
-    <tt>clang-cc</tt></a></li>
+    <tt>clang</tt></a></li>
     <li><a href="#philosophy">Design Philosophy</a></li>
     <li><a href="#contents">Precompiled Header Contents</a>
       <ul>
@@ -44,15 +44,15 @@
     Points</a></li>
 </ul>
     
-<h2 id="usage">Using Precompiled Headers with <tt>clang-cc</tt></h2>
+<h2 id="usage">Using Precompiled Headers with <tt>clang</tt></h2>
 
-<p>The low-level Clang compiler, <tt>clang-cc</tt>, supports two command
-line options for generating and using PCH files.<p>
+<p>The Clang compiler frontend, <tt>clang -cc1</tt>, supports two command line
+options for generating and using PCH files.<p>
 
-<p>To generate PCH files using <tt>clang-cc</tt>, use the option
+<p>To generate PCH files using <tt>clang -cc1</tt>, use the option
 <b><tt>-emit-pch</tt></b>:
 
-<pre> $ clang-cc test.h -emit-pch -o test.h.pch </pre>
+<pre> $ clang -cc1 test.h -emit-pch -o test.h.pch </pre>
 
 <p>This option is transparently used by <tt>clang</tt> when generating
 PCH files. The resulting PCH file contains the serialized form of the
@@ -61,7 +61,7 @@ semantic analysis. The PCH file can then
 with the <b><tt>-include-pch</tt></b> option:</p>
 
 <pre>
-  $ clang-cc -include-pch test.h.pch test.c -o test.s
+  $ clang -cc1 -include-pch test.h.pch test.c -o test.s
 </pre>
 
 <h2 id="philosophy">Design Philosophy</h2>

Modified: vendor/clang/dist/docs/PTHInternals.html
==============================================================================
--- vendor/clang/dist/docs/PTHInternals.html	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/docs/PTHInternals.html	Tue Dec 15 18:49:47 2009	(r200583)
@@ -23,38 +23,38 @@ implementation.  If you are interested i
 <a href="UsersManual.html#precompiledheaders">User's Manual</a>.</p>
 
 
-<h2>Using Pretokenized Headers with <tt>clang-cc</tt> (Low-level Interface)</h2>
+<h2>Using Pretokenized Headers with <tt>clang</tt> (Low-level Interface)</h2>
 
-<p>The low-level Clang compiler tool, <tt>clang-cc</tt>, supports three command
-line options for generating and using PTH files.<p>
+<p>The Clang compiler frontend, <tt>clang -cc1</tt>, supports three command line
+options for generating and using PTH files.<p>
 
-<p>To generate PTH files using <tt>clang-cc</tt>, use the option
+<p>To generate PTH files using <tt>clang -cc1</tt>, use the option
 <b><tt>-emit-pth</tt></b>:
 
-<pre> $ clang-cc test.h -emit-pth -o test.h.pth </pre>
+<pre> $ clang -cc1 test.h -emit-pth -o test.h.pth </pre>
 
 <p>This option is transparently used by <tt>clang</tt> when generating PTH
 files. Similarly, PTH files can be used as prefix headers using the
 <b><tt>-include-pth</tt></b> option:</p>
 
 <pre>
-  $ clang-cc -include-pth test.h.pth test.c -o test.s
+  $ clang -cc1 -include-pth test.h.pth test.c -o test.s
 </pre>
 
 <p>Alternatively, Clang's PTH files can be used as a raw &quot;token-cache&quot;
 (or &quot;content&quot; cache) of the source included by the original header
 file. This means that the contents of the PTH file are searched as substitutes
-for <em>any</em> source files that are used by <tt>clang-cc</tt> to process a
+for <em>any</em> source files that are used by <tt>clang -cc1</tt> to process a
 source file. This is done by specifying the <b><tt>-token-cache</tt></b>
 option:</p>
 
 <pre>
   $ cat test.h
   #include &lt;stdio.h&gt;
-  $ clang-cc -emit-pth test.h -o test.h.pth
+  $ clang -cc1 -emit-pth test.h -o test.h.pth
   $ cat test.c
   #include "test.h"
-  $ clang-cc test.c -o test -token-cache test.h.pth
+  $ clang -cc1 test.c -o test -token-cache test.h.pth
 </pre>
 
 <p>In this example the contents of <tt>stdio.h</tt> (and the files it includes)
@@ -117,7 +117,7 @@ PTH file needs to be generated during a 
 <li><p><b>Reduced memory pressure</b>: Similar to GCC,
 Clang reads PTH files via the use of memory mapping (i.e., <tt>mmap</tt>).
 Clang, however, memory maps PTH files as read-only, meaning that multiple
-invocations of <tt>clang-cc</tt> can share the same pages in memory from a
+invocations of <tt>clang -cc1</tt> can share the same pages in memory from a
 memory-mapped PTH file. In comparison, GCC also memory maps its PCH files but
 also modifies those pages in memory, incurring the copy-on-write costs. The
 read-only nature of PTH can greatly reduce memory pressure for builds involving
@@ -160,7 +160,7 @@ optimizations to speed up the processing
 <ul>
 
 <li><p><em><tt>stat</tt> caching</em>: PTH files cache information obtained via
-calls to <tt>stat</tt> that <tt>clang-cc</tt> uses to resolve which files are
+calls to <tt>stat</tt> that <tt>clang -cc1</tt> uses to resolve which files are
 included by <tt>#include</tt> directives. This greatly reduces the overhead
 involved in context-switching to the kernel to resolve included files.</p></li>
 

Modified: vendor/clang/dist/docs/UsersManual.html
==============================================================================
--- vendor/clang/dist/docs/UsersManual.html	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/docs/UsersManual.html	Tue Dec 15 18:49:47 2009	(r200583)
@@ -40,6 +40,7 @@ td {
    <li><a href="#diagnostics_pragmas">Controlling Diagnostics via Pragmas</a></li>
    </ul>
   <li><a href="#precompiledheaders">Precompiled Headers</a></li>
+  <li><a href="#codegen">Controlling Code Generation</a></li>
   </ul>
 </li>
 <li><a href="#c">C Language Features</a>
@@ -562,6 +563,29 @@ at the time of PCH use requires one of t
 <code>stat()</code> caching, to be disabled. However, this change is only 
 likely to affect PCH files that reference a large number of headers.</p>
 
+<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
+<h3 id="codegen">Controlling Code Generation</h3>
+<!-- = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = -->
+
+<p>Clang provides a number of ways to control code generation.  The options are listed below.</p>
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fcatch-undefined-behavior"><b>-fcatch-undefined-behavior</b>: Turn
+on runtime code generation to check for undefined behavior.</dt>
+
+<dd>This option, which defaults to off, controls whether or not Clang
+adds runtime checks for undefined runtime behavior.  If the check fails,
+<tt>__builtin_trap()</tt> is used to indicate failure.
+The checks are:
+<p>
+<li>Subscripting where the static type of one operand is decayed from an
+    array type and the other operand is greater than the size of the array or
+    less than zero.</li>
+<li>Shift operators where the amount shifted is greater or equal to the
+    promoted bit-width of the left-hand-side or less than zero.</li>
+</p>
+</dd>
+
 <!-- ======================================================================= -->
 <h2 id="c">C Language Features</h2>
 <!-- ======================================================================= -->

Modified: vendor/clang/dist/docs/libIndex.html
==============================================================================
--- vendor/clang/dist/docs/libIndex.html	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/docs/libIndex.html	Tue Dec 15 18:49:47 2009	(r200583)
@@ -211,8 +211,8 @@ void bar_func(void) {
 You first get AST files out of <code>t1.c</code> and <code>t2.c</code>:
 
 <pre class="code_example">
-$ clang-cc -emit-pch t1.c -o t1.ast
-$ clang-cc -emit-pch t2.c -o t2.ast
+$ clang -emit-ast t1.c -o t1.ast
+$ clang -emit-ast t2.c -o t2.ast
 </pre>
 </p>
 

Modified: vendor/clang/dist/include/clang-c/Index.h
==============================================================================
--- vendor/clang/dist/include/clang-c/Index.h	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/include/clang-c/Index.h	Tue Dec 15 18:49:47 2009	(r200583)
@@ -104,6 +104,34 @@ enum CXCursorKind {
  CXCursor_LastInvalid                   = 72
 };
 
+/**
+ * \brief Provides the contents of a file that has not yet been saved to disk.
+ *
+ * Each CXUnsavedFile instance provides the name of a file on the
+ * system along with the current contents of that file that have not
+ * yet been saved to disk.
+ */
+struct CXUnsavedFile {
+  /** 
+   * \brief The file whose contents have not yet been saved. 
+   *
+   * This file must already exist in the file system.
+   */
+  const char *Filename;
+
+  /** 
+   * \brief A null-terminated buffer containing the unsaved contents
+   * of this file.
+   */
+  const char *Contents;
+
+  /**
+   * \brief The length of the unsaved contents of this buffer, not
+   * counting the NULL at the end of the buffer.
+   */
+  unsigned long Length;
+};
+
 /* A cursor into the CXTranslationUnit. */
 
 typedef struct {
@@ -174,8 +202,22 @@ CINDEX_LINKAGE void clang_disposeString(
  */
 CINDEX_LINKAGE CXIndex clang_createIndex(int excludeDeclarationsFromPCH,
                           int displayDiagnostics);
-CINDEX_LINKAGE void clang_disposeIndex(CXIndex);
-CINDEX_LINKAGE CXString clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit);
+CINDEX_LINKAGE void clang_disposeIndex(CXIndex index);
+CINDEX_LINKAGE CXString
+clang_getTranslationUnitSpelling(CXTranslationUnit CTUnit);
+
+/* 
+ * \brief Request that AST's be generated external for API calls which parse
+ * source code on the fly, e.g. \see createTranslationUnitFromSourceFile.
+ *
+ * Note: This is for debugging purposes only, and may be removed at a later
+ * date.
+ *
+ * \param index - The index to update.
+ * \param value - The new flag value.
+ */
+CINDEX_LINKAGE void clang_setUseExternalASTGeneration(CXIndex index,
+                                                      int value);
 
 /* 
  * \brief Create a translation unit from an AST file (-emit-ast).
@@ -183,6 +225,7 @@ CINDEX_LINKAGE CXString clang_getTransla
 CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnit(
   CXIndex, const char *ast_filename
 );
+
 /**
  * \brief Destroy the specified CXTranslationUnit object.
  */ 
@@ -192,20 +235,25 @@ CINDEX_LINKAGE void clang_disposeTransla
  * \brief Return the CXTranslationUnit for a given source file and the provided
  * command line arguments one would pass to the compiler.
  *
- * Note: The 'source_filename' argument is optional.  If the caller provides a NULL pointer,
- *  the name of the source file is expected to reside in the specified command line arguments.
+ * Note: The 'source_filename' argument is optional.  If the caller provides a
+ * NULL pointer, the name of the source file is expected to reside in the
+ * specified command line arguments.
  *
- * Note: When encountered in 'clang_command_line_args', the following options are ignored:
+ * Note: When encountered in 'clang_command_line_args', the following options
+ * are ignored:
  *
  *   '-c'
  *   '-emit-ast'
  *   '-fsyntax-only'
  *   '-o <output file>'  (both '-o' and '<output file>' are ignored)
  *
+ *
+ * \param source_filename - The name of the source file to load, or NULL if the
+ * source file is included in clang_command_line_args.
  */
 CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnitFromSourceFile(
-  CXIndex CIdx, 
-  const char *source_filename /* specify NULL if the source file is in clang_command_line_args */,
+  CXIndex CIdx,
+  const char *source_filename,
   int num_clang_command_line_args, 
   const char **clang_command_line_args
 );
@@ -225,13 +273,14 @@ CINDEX_LINKAGE CXTranslationUnit clang_c
    }
    static void usage {
      clang_loadTranslationUnit(CXTranslationUnit, printObjCInterfaceNames);
-   }
+  }
 */
 typedef void *CXClientData;
 typedef void (*CXTranslationUnitIterator)(CXTranslationUnit, CXCursor, 
                                           CXClientData);
-CINDEX_LINKAGE void clang_loadTranslationUnit(CXTranslationUnit, CXTranslationUnitIterator,
-                               CXClientData);
+CINDEX_LINKAGE void clang_loadTranslationUnit(CXTranslationUnit,
+                                              CXTranslationUnitIterator,
+                                              CXClientData);
 
 /*
    Usage: clang_loadDeclaration(). Will load the declaration, issuing a 
@@ -292,8 +341,9 @@ CINDEX_LINKAGE CXFile clang_getDeclSourc
    Usage: clang_getCursor() will translate a source/line/column position
    into an AST cursor (to derive semantic information from the source code).
  */
-CINDEX_LINKAGE CXCursor clang_getCursor(CXTranslationUnit, const char *source_name, 
-                         unsigned line, unsigned column);
+CINDEX_LINKAGE CXCursor clang_getCursor(CXTranslationUnit,
+                                        const char *source_name, 
+                                        unsigned line, unsigned column);
                          
 CINDEX_LINKAGE CXCursor clang_getNullCursor(void);
 
@@ -606,11 +656,11 @@ clang_getNumCompletionChunks(CXCompletio
  * \param CIdx the \c CXIndex instance that will be used to perform code
  * completion.
  *
- * \param source_filename the name of the source file that should be parsed
- * to perform code-completion. This source file must be the same as or
- * include the filename described by \p complete_filename, or no code-completion
- * results will be produced.  NOTE: One can also specify NULL for this argument if
- * the source file is included in command_line_args.
+ * \param source_filename the name of the source file that should be parsed to
+ * perform code-completion. This source file must be the same as or include the
+ * filename described by \p complete_filename, or no code-completion results
+ * will be produced.  NOTE: One can also specify NULL for this argument if the
+ * source file is included in command_line_args.
  *
  * \param num_command_line_args the number of command-line arguments stored in
  * \p command_line_args.
@@ -621,6 +671,13 @@ clang_getNumCompletionChunks(CXCompletio
  * includes, etc., but should not include any information specific to 
  * code completion.
  *
+ * \param num_unsaved_files the number of unsaved file entries in \p
+ * unsaved_files.
+ *
+ * \param unsaved_files the files that have not yet been saved to disk
+ * but may be required for code completion, including the contents of
+ * those files.
+ *
  * \param complete_filename the name of the source file where code completion
  * should be performed. In many cases, this name will be the same as the
  * source filename. However, the completion filename may also be a file 
@@ -643,6 +700,8 @@ CINDEX_LINKAGE void clang_codeComplete(C
                                        const char *source_filename,
                                        int num_command_line_args, 
                                        const char **command_line_args,
+                                       unsigned num_unsaved_files,
+                                       struct CXUnsavedFile *unsaved_files,
                                        const char *complete_filename,
                                        unsigned complete_line,
                                        unsigned complete_column,

Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTContext.h	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/include/clang/AST/ASTContext.h	Tue Dec 15 18:49:47 2009	(r200583)
@@ -45,6 +45,8 @@ namespace clang {
   class SourceManager;
   class TargetInfo;
   // Decls
+  class CXXMethodDecl;
+  class CXXRecordDecl;
   class Decl;
   class FieldDecl;
   class ObjCIvarDecl;
@@ -57,6 +59,7 @@ namespace clang {
   class TypeDecl;
   class TypedefDecl;
   class UsingDecl;
+  class UsingShadowDecl;
 
   namespace Builtin { class Context; }
 
@@ -105,6 +108,9 @@ class ASTContext {
   llvm::DenseMap<const RecordDecl*, const ASTRecordLayout*> ASTRecordLayouts;
   llvm::DenseMap<const ObjCContainerDecl*, const ASTRecordLayout*> ObjCLayouts;
 
+  /// KeyFunctions - A cache mapping from CXXRecordDecls to key functions.
+  llvm::DenseMap<const CXXRecordDecl*, const CXXMethodDecl*> KeyFunctions;
+  
   /// \brief Mapping from ObjCContainers to their ObjCImplementations.
   llvm::DenseMap<ObjCContainerDecl*, ObjCImplDecl*> ObjCImpls;
 
@@ -183,8 +189,10 @@ class ASTContext {
   llvm::DenseMap<const VarDecl *, MemberSpecializationInfo *> 
     InstantiatedFromStaticDataMember;
 
-  /// \brief Keeps track of the UnresolvedUsingDecls from which UsingDecls
-  /// where created during instantiation.
+  /// \brief Keeps track of the declaration from which a UsingDecl was
+  /// created during instantiation.  The source declaration is always
+  /// a UsingDecl, an UnresolvedUsingValueDecl, or an
+  /// UnresolvedUsingTypenameDecl.
   ///
   /// For example:
   /// \code
@@ -203,8 +211,10 @@ class ASTContext {
   ///
   /// This mapping will contain an entry that maps from the UsingDecl in
   /// B<int> to the UnresolvedUsingDecl in B<T>.
-  llvm::DenseMap<UsingDecl *, NamedDecl *>
-    InstantiatedFromUnresolvedUsingDecl;
+  llvm::DenseMap<UsingDecl *, NamedDecl *> InstantiatedFromUsingDecl;
+
+  llvm::DenseMap<UsingShadowDecl*, UsingShadowDecl*>
+    InstantiatedFromUsingShadowDecl;
 
   llvm::DenseMap<FieldDecl *, FieldDecl *> InstantiatedFromUnnamedFieldDecl;
 
@@ -282,14 +292,18 @@ public:
   void setInstantiatedFromStaticDataMember(VarDecl *Inst, VarDecl *Tmpl,
                                            TemplateSpecializationKind TSK);
 
-  /// \brief If this using decl is instantiated from an unresolved using decl,
+  /// \brief If the given using decl is an instantiation of a
+  /// (possibly unresolved) using decl from a template instantiation,
   /// return it.
-  NamedDecl *getInstantiatedFromUnresolvedUsingDecl(UsingDecl *UUD);
-
-  /// \brief Note that the using decl \p Inst is an instantiation of
-  /// the unresolved using decl \p Tmpl of a class template.
-  void setInstantiatedFromUnresolvedUsingDecl(UsingDecl *Inst, NamedDecl *Tmpl);
+  NamedDecl *getInstantiatedFromUsingDecl(UsingDecl *Inst);
 
+  /// \brief Remember that the using decl \p Inst is an instantiation
+  /// of the using decl \p Pattern of a class template.
+  void setInstantiatedFromUsingDecl(UsingDecl *Inst, NamedDecl *Pattern);
+
+  void setInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst,
+                                          UsingShadowDecl *Pattern);
+  UsingShadowDecl *getInstantiatedFromUsingShadowDecl(UsingShadowDecl *Inst);
 
   FieldDecl *getInstantiatedFromUnnamedFieldDecl(FieldDecl *Field);
 
@@ -380,9 +394,10 @@ public:
   /// equivalent to calling T.withConst().
   QualType getConstType(QualType T) { return T.withConst(); }
 
-  /// getNoReturnType - Add the noreturn attribute to the given type which must
-  /// be a FunctionType or a pointer to an allowable type or a BlockPointer.
-  QualType getNoReturnType(QualType T);
+  /// getNoReturnType - Add or remove the noreturn attribute to the given type 
+  /// which must be a FunctionType or a pointer to an allowable type or a 
+  /// BlockPointer.
+  QualType getNoReturnType(QualType T, bool AddNoReturn = true);
 
   /// getComplexType - Return the uniqued reference to the type for a complex
   /// number with the specified element type.
@@ -569,7 +584,7 @@ public:
 
   /// getSizeType - Return the unique type for "size_t" (C99 7.17), defined
   /// in <stddef.h>. The sizeof operator requires this (C99 6.5.3.4p4).
-  QualType getSizeType() const;
+  CanQualType getSizeType() const;
 
   /// getWCharType - In C++, this returns the unique wchar_t type.  In C99, this
   /// returns a type compatible with the type defined in <stddef.h> as defined
@@ -735,12 +750,12 @@ public:
 
   DeclarationName getNameForTemplate(TemplateName Name);
 
+  TemplateName getOverloadedTemplateName(NamedDecl * const *Begin,
+                                         NamedDecl * const *End);
+
   TemplateName getQualifiedTemplateName(NestedNameSpecifier *NNS,
                                         bool TemplateKeyword,
                                         TemplateDecl *Template);
-  TemplateName getQualifiedTemplateName(NestedNameSpecifier *NNS,
-                                        bool TemplateKeyword,
-                                        OverloadedFunctionDecl *Template);
 
   TemplateName getDependentTemplateName(NestedNameSpecifier *NNS,
                                         const IdentifierInfo *Name);
@@ -843,6 +858,13 @@ public:
   const ASTRecordLayout &
   getASTObjCImplementationLayout(const ObjCImplementationDecl *D);
 
+  /// getKeyFunction - Get the key function for the given record decl. 
+  /// The key function is, according to the Itanium C++ ABI section 5.2.3:
+  ///
+  /// ...the first non-pure virtual function that is not inline at the point
+  /// of class definition.
+  const CXXMethodDecl *getKeyFunction(const CXXRecordDecl *RD);
+
   void CollectObjCIvars(const ObjCInterfaceDecl *OI,
                         llvm::SmallVectorImpl<FieldDecl*> &Fields);
 
@@ -1108,9 +1130,9 @@ public:
   void setObjCImplementation(ObjCCategoryDecl *CatD,
                              ObjCCategoryImplDecl *ImplD);
 
-  /// \brief Allocate an uninitialized DeclaratorInfo.
+  /// \brief Allocate an uninitialized TypeSourceInfo.
   ///
-  /// The caller should initialize the memory held by DeclaratorInfo using
+  /// The caller should initialize the memory held by TypeSourceInfo using
   /// the TypeLoc wrappers.
   ///
   /// \param T the type that will be the basis for type source info. This type
@@ -1119,13 +1141,13 @@ public:
   ///
   /// \param Size the size of the type info to create, or 0 if the size
   /// should be calculated based on the type.
-  DeclaratorInfo *CreateDeclaratorInfo(QualType T, unsigned Size = 0);
+  TypeSourceInfo *CreateTypeSourceInfo(QualType T, unsigned Size = 0);
 
-  /// \brief Allocate a DeclaratorInfo where all locations have been
+  /// \brief Allocate a TypeSourceInfo where all locations have been
   /// initialized to a given location, which defaults to the empty
   /// location.
-  DeclaratorInfo *
-  getTrivialDeclaratorInfo(QualType T, SourceLocation Loc = SourceLocation());
+  TypeSourceInfo *
+  getTrivialTypeSourceInfo(QualType T, SourceLocation Loc = SourceLocation());
 
 private:
   ASTContext(const ASTContext&); // DO NOT IMPLEMENT

Modified: vendor/clang/dist/include/clang/AST/CanonicalType.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CanonicalType.h	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/include/clang/AST/CanonicalType.h	Tue Dec 15 18:49:47 2009	(r200583)
@@ -172,6 +172,12 @@ inline bool operator!=(CanQual<T> x, Can
 /// \brief Represents a canonical, potentially-qualified type.
 typedef CanQual<Type> CanQualType;
 
+inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,
+                                           CanQualType T) {
+  DB << static_cast<QualType>(T);
+  return DB;
+}
+
 //----------------------------------------------------------------------------//
 // Internal proxy classes used by canonical types
 //----------------------------------------------------------------------------//

Modified: vendor/clang/dist/include/clang/AST/Decl.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Decl.h	Tue Dec 15 18:33:12 2009	(r200582)
+++ vendor/clang/dist/include/clang/AST/Decl.h	Tue Dec 15 18:49:47 2009	(r200583)
@@ -35,17 +35,17 @@ class TypeLoc;
 ///
 /// A client can read the relevant info using TypeLoc wrappers, e.g:
 /// @code
-/// TypeLoc TL = DeclaratorInfo->getTypeLoc();
+/// TypeLoc TL = TypeSourceInfo->getTypeLoc();
 /// if (PointerLoc *PL = dyn_cast<PointerLoc>(&TL))
 ///   PL->getStarLoc().print(OS, SrcMgr);
 /// @endcode
 ///
-class DeclaratorInfo {
+class TypeSourceInfo {
   QualType Ty;
   // Contains a memory block after the class, used for type source information,
   // allocated by ASTContext.
   friend class ASTContext;
-  DeclaratorInfo(QualType ty) : Ty(ty) { }
+  TypeSourceInfo(QualType ty) : Ty(ty) { }
 public:
   /// \brief Return the type wrapped by this type source info.
   QualType getType() const { return Ty; }
@@ -322,18 +322,18 @@ public:
 };
 
 /// \brief Represents a ValueDecl that came out of a declarator.
-/// Contains type source information through DeclaratorInfo.
+/// Contains type source information through TypeSourceInfo.
 class DeclaratorDecl : public ValueDecl {
-  DeclaratorInfo *DeclInfo;
+  TypeSourceInfo *DeclInfo;
 
 protected:
   DeclaratorDecl(Kind DK, DeclContext *DC, SourceLocation L,
-                 DeclarationName N, QualType T, DeclaratorInfo *DInfo)
-    : ValueDecl(DK, DC, L, N, T), DeclInfo(DInfo) {}
+                 DeclarationName N, QualType T, TypeSourceInfo *TInfo)
+    : ValueDecl(DK, DC, L, N, T), DeclInfo(TInfo) {}
 
 public:
-  DeclaratorInfo *getDeclaratorInfo() const { return DeclInfo; }
-  void setDeclaratorInfo(DeclaratorInfo *DInfo) { DeclInfo = DInfo; }
+  TypeSourceInfo *getTypeSourceInfo() const { return DeclInfo; }
+  void setTypeSourceInfo(TypeSourceInfo *TInfo) { DeclInfo = TInfo; }
 
   SourceLocation getTypeSpecStartLoc() const;
 
@@ -348,15 +348,23 @@ public:
 /// which it was evaluated (if any), and whether or not the statement
 /// is an integral constant expression (if known).
 struct EvaluatedStmt {
-  EvaluatedStmt() : WasEvaluated(false), CheckedICE(false), IsICE(false) { }
+  EvaluatedStmt() : WasEvaluated(false), IsEvaluating(false), CheckedICE(false),
+                    CheckingICE(false), IsICE(false) { }
 
   /// \brief Whether this statement was already evaluated.
   bool WasEvaluated : 1;
 
+  /// \brief Whether this statement is being evaluated.
+  bool IsEvaluating : 1;
+
   /// \brief Whether we already checked whether this statement was an
   /// integral constant expression.
   bool CheckedICE : 1;
 
+  /// \brief Whether we are checking whether this statement is an
+  /// integral constant expression.
+  bool CheckingICE : 1;
+
   /// \brief Whether this statement is an integral constant
   /// expression. Only valid if CheckedICE is true.
   bool IsICE : 1;
@@ -432,8 +440,8 @@ private:
   friend class StmtIteratorBase;
 protected:
   VarDecl(Kind DK, DeclContext *DC, SourceLocation L, IdentifierInfo *Id,
-          QualType T, DeclaratorInfo *DInfo, StorageClass SC)
-    : DeclaratorDecl(DK, DC, L, Id, T, DInfo), Init(),
+          QualType T, TypeSourceInfo *TInfo, StorageClass SC)
+    : DeclaratorDecl(DK, DC, L, Id, T, TInfo), Init(),
       ThreadSpecified(false), HasCXXDirectInit(false),
       DeclaredInCondition(false) {
     SClass = SC;
@@ -453,7 +461,7 @@ public:
 
   static VarDecl *Create(ASTContext &C, DeclContext *DC,
                          SourceLocation L, IdentifierInfo *Id,
-                         QualType T, DeclaratorInfo *DInfo, StorageClass S);
+                         QualType T, TypeSourceInfo *TInfo, StorageClass S);
 
   virtual ~VarDecl();
   virtual void Destroy(ASTContext& C);
@@ -504,23 +512,45 @@ public:
 
   void setInit(ASTContext &C, Expr *I);
 
-  /// \brief Note that constant evaluation has computed the given
-  /// value for this variable's initializer.
-  void setEvaluatedValue(ASTContext &C, const APValue &Value) const {
+  EvaluatedStmt *EnsureEvaluatedStmt() const {
     EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>();
     if (!Eval) {
       Stmt *S = Init.get<Stmt *>();
-      Eval = new (C) EvaluatedStmt;
+      Eval = new (getASTContext()) EvaluatedStmt;
       Eval->Value = S;
       Init = Eval;
     }
+    return Eval;
+  }
+
+  /// \brief Check whether we are in the process of checking whether the
+  /// initializer can be evaluated.
+  bool isEvaluatingValue() const {
+    if (EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>())
+      return Eval->IsEvaluating;
 
+    return false;
+  }
+
+  /// \brief Note that we now are checking whether the initializer can be
+  /// evaluated.
+  void setEvaluatingValue() const {
+    EvaluatedStmt *Eval = EnsureEvaluatedStmt();
+    Eval->IsEvaluating = true;
+  }
+
+  /// \brief Note that constant evaluation has computed the given
+  /// value for this variable's initializer.
+  void setEvaluatedValue(const APValue &Value) const {
+    EvaluatedStmt *Eval = EnsureEvaluatedStmt();
+    Eval->IsEvaluating = false;
     Eval->WasEvaluated = true;
     Eval->Evaluated = Value;
   }
 
   /// \brief Return the already-evaluated value of this variable's
-  /// initializer, or NULL if the value is not yet known.
+  /// initializer, or NULL if the value is not yet known. Returns pointer
+  /// to untyped APValue if the value could not be evaluated.
   APValue *getEvaluatedValue() const {
     if (EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>())
       if (Eval->WasEvaluated)
@@ -548,17 +578,27 @@ public:
     return Init.get<EvaluatedStmt *>()->IsICE;
   }
 
-  /// \brief Note that we now know whether the initializer is an
+  /// \brief Check whether we are in the process of checking the initializer
+  /// is an integral constant expression.
+  bool isCheckingICE() const {
+    if (EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>())
+      return Eval->CheckingICE;
+
+    return false;
+  }
+
+  /// \brief Note that we now are checking whether the initializer is an
   /// integral constant expression.
-  void setInitKnownICE(ASTContext &C, bool IsICE) const {
-    EvaluatedStmt *Eval = Init.dyn_cast<EvaluatedStmt *>();
-    if (!Eval) {
-      Stmt *S = Init.get<Stmt *>();
-      Eval = new (C) EvaluatedStmt;
-      Eval->Value = S;
-      Init = Eval;
-    }
+  void setCheckingICE() const {
+    EvaluatedStmt *Eval = EnsureEvaluatedStmt();
+    Eval->CheckingICE = true;
+  }
 
+  /// \brief Note that we now know whether the initializer is an
+  /// integral constant expression.
+  void setInitKnownICE(bool IsICE) const {
+    EvaluatedStmt *Eval = EnsureEvaluatedStmt();
+    Eval->CheckingICE = false;
     Eval->CheckedICE = true;
     Eval->IsICE = IsICE;
   }
@@ -712,7 +752,7 @@ class ImplicitParamDecl : public VarDecl
 protected:
   ImplicitParamDecl(Kind DK, DeclContext *DC, SourceLocation L,
                     IdentifierInfo *Id, QualType Tw)
-    : VarDecl(DK, DC, L, Id, Tw, /*DInfo=*/0, VarDecl::None) {}
+    : VarDecl(DK, DC, L, Id, Tw, /*TInfo=*/0, VarDecl::None) {}
 public:
   static ImplicitParamDecl *Create(ASTContext &C, DeclContext *DC,
                                    SourceLocation L, IdentifierInfo *Id,
@@ -739,16 +779,16 @@ class ParmVarDecl : public VarDecl {
 
 protected:
   ParmVarDecl(Kind DK, DeclContext *DC, SourceLocation L,
-              IdentifierInfo *Id, QualType T, DeclaratorInfo *DInfo,
+              IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo,
               StorageClass S, Expr *DefArg)
-  : VarDecl(DK, DC, L, Id, T, DInfo, S), objcDeclQualifier(OBJC_TQ_None) {
+  : VarDecl(DK, DC, L, Id, T, TInfo, S), objcDeclQualifier(OBJC_TQ_None) {
     setDefaultArg(DefArg);
   }
 
 public:
   static ParmVarDecl *Create(ASTContext &C, DeclContext *DC,
                              SourceLocation L,IdentifierInfo *Id,
-                             QualType T, DeclaratorInfo *DInfo,
+                             QualType T, TypeSourceInfo *TInfo,
                              StorageClass S, Expr *DefArg);
 
   ObjCDeclQualifier getObjCDeclQualifier() const {
@@ -822,8 +862,8 @@ public:
   }
 
   QualType getOriginalType() const {
-    if (getDeclaratorInfo())
-      return getDeclaratorInfo()->getType();
+    if (getTypeSourceInfo())
+      return getTypeSourceInfo()->getType();
     return getType();
   }
 
@@ -907,9 +947,9 @@ private:
 
 protected:
   FunctionDecl(Kind DK, DeclContext *DC, SourceLocation L,
-               DeclarationName N, QualType T, DeclaratorInfo *DInfo,
+               DeclarationName N, QualType T, TypeSourceInfo *TInfo,
                StorageClass S, bool isInline)
-    : DeclaratorDecl(DK, DC, L, N, T, DInfo),
+    : DeclaratorDecl(DK, DC, L, N, T, TInfo),
       DeclContext(DK),
       ParamInfo(0), Body(),
       SClass(S), IsInline(isInline), 
@@ -936,7 +976,7 @@ public:
 
   static FunctionDecl *Create(ASTContext &C, DeclContext *DC, SourceLocation L,
                               DeclarationName N, QualType T,
-                              DeclaratorInfo *DInfo,
+                              TypeSourceInfo *TInfo,
                               StorageClass S = None, bool isInline = false,
                               bool hasWrittenPrototype = true);
 
@@ -1272,15 +1312,15 @@ class FieldDecl : public DeclaratorDecl 
   Expr *BitWidth;
 protected:
   FieldDecl(Kind DK, DeclContext *DC, SourceLocation L,
-            IdentifierInfo *Id, QualType T, DeclaratorInfo *DInfo,
+            IdentifierInfo *Id, QualType T, TypeSourceInfo *TInfo,
             Expr *BW, bool Mutable)
-    : DeclaratorDecl(DK, DC, L, Id, T, DInfo), Mutable(Mutable), BitWidth(BW) {
+    : DeclaratorDecl(DK, DC, L, Id, T, TInfo), Mutable(Mutable), BitWidth(BW) {
   }
 
 public:
   static FieldDecl *Create(ASTContext &C, DeclContext *DC, SourceLocation L,
                            IdentifierInfo *Id, QualType T,
-                           DeclaratorInfo *DInfo, Expr *BW, bool Mutable);
+                           TypeSourceInfo *TInfo, Expr *BW, bool Mutable);
 
   /// isMutable - Determines whether this field is mutable (C++ only).
   bool isMutable() const { return Mutable; }
@@ -1383,28 +1423,28 @@ public:
 
 class TypedefDecl : public TypeDecl {
   /// UnderlyingType - This is the type the typedef is set to.
-  DeclaratorInfo *DInfo;
+  TypeSourceInfo *TInfo;
 
   TypedefDecl(DeclContext *DC, SourceLocation L,
-              IdentifierInfo *Id, DeclaratorInfo *DInfo)
-    : TypeDecl(Typedef, DC, L, Id), DInfo(DInfo) {}
+              IdentifierInfo *Id, TypeSourceInfo *TInfo)
+    : TypeDecl(Typedef, DC, L, Id), TInfo(TInfo) {}
 
   virtual ~TypedefDecl() {}
 public:
 
   static TypedefDecl *Create(ASTContext &C, DeclContext *DC,

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200912151849.nBFInm8Q071877>