svn commit: r208600 - in vendor/clang/dist: clang.xcodeproj docs
docs/tools include/clang include/clang-c include/clang/AST
include/clang/Analysis include/clang/Basic
include/clang/Checker/PathSens...
Roman Divacky
rdivacky at FreeBSD.org
Thu May 27 15:17:07 UTC 2010
Author: rdivacky
Date: Thu May 27 15:17:06 2010
New Revision: 208600
URL: http://svn.freebsd.org/changeset/base/208600
Log:
Update clang to r104832.
Added:
vendor/clang/dist/include/clang/AST/CMakeLists.txt
vendor/clang/dist/include/clang/AST/Makefile
vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h
vendor/clang/dist/include/clang/AST/StmtNodes.td
vendor/clang/dist/include/clang/Basic/DiagnosticCategories.td
vendor/clang/dist/include/clang/Driver/CC1AsOptions.h
vendor/clang/dist/include/clang/Driver/CC1AsOptions.td
vendor/clang/dist/lib/Checker/CastSizeChecker.cpp
vendor/clang/dist/lib/CodeGen/CGCXXABI.h
vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp
vendor/clang/dist/lib/Driver/CC1AsOptions.cpp
vendor/clang/dist/lib/Frontend/BoostConAction.cpp
vendor/clang/dist/test/CXX/expr/expr.post/expr.ref/p3.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.friend/p4.cpp
vendor/clang/dist/test/CXX/temp/temp.names/p2.cpp
vendor/clang/dist/test/CodeGen/microsoft-call-conv.c
vendor/clang/dist/test/CodeGenCXX/PR5863-unreachable-block.cpp
vendor/clang/dist/test/CodeGenCXX/c99-variable-length-array.cpp
vendor/clang/dist/test/CodeGenCXX/implicit-copy-constructor.cpp
vendor/clang/dist/test/CodeGenCXX/nrvo.cpp
vendor/clang/dist/test/CodeGenCXX/static-init-3.cpp
vendor/clang/dist/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
vendor/clang/dist/test/CodeGenObjC/blocks-ivar-debug.m
vendor/clang/dist/test/CodeGenObjC/default-property-synthesis.m
vendor/clang/dist/test/CodeGenObjC/objc-gc-aggr-assign.m
vendor/clang/dist/test/CodeGenObjCXX/encode.mm
vendor/clang/dist/test/CodeGenObjCXX/mangle-blocks.mm
vendor/clang/dist/test/CodeGenObjCXX/property-objects.mm
vendor/clang/dist/test/Index/annotate-tokens-include.c
vendor/clang/dist/test/Index/annotate-tokens-include.h
vendor/clang/dist/test/Index/complete-recovery.m
vendor/clang/dist/test/Index/print-typekind.c
vendor/clang/dist/test/Index/properties-class-extensions.m
vendor/clang/dist/test/Index/usrs.cpp
vendor/clang/dist/test/Misc/diag-aka-types.cpp
vendor/clang/dist/test/Parser/cxx-undeclared-identifier.cpp
vendor/clang/dist/test/Parser/namespaces.cpp
vendor/clang/dist/test/Parser/pragma-options.c
vendor/clang/dist/test/Parser/switch-recovery.cpp
vendor/clang/dist/test/Rewriter/rewrite-block-argument.m
vendor/clang/dist/test/Rewriter/rewrite-local-static-id.mm
vendor/clang/dist/test/Rewriter/rewrite-no-nextline.mm
vendor/clang/dist/test/Sema/pragma-align-mac68k-unsupported.c
vendor/clang/dist/test/Sema/pragma-align-mac68k.c
vendor/clang/dist/test/Sema/pragma-pack-and-options-align.c
vendor/clang/dist/test/SemaCXX/c99-variable-length-array.cpp
vendor/clang/dist/test/SemaCXX/flexible-array-test.cpp
vendor/clang/dist/test/SemaCXX/invalid-instantiated-field-decl.cpp
vendor/clang/dist/test/SemaCXX/return-noreturn.cpp
vendor/clang/dist/test/SemaCXX/scope-check.cpp
vendor/clang/dist/test/SemaCXX/vector.cpp
vendor/clang/dist/test/SemaObjCXX/const-cast.mm
vendor/clang/dist/test/SemaObjCXX/conversion-to-objc-pointer-2.mm
vendor/clang/dist/test/SemaObjCXX/conversion-to-objc-pointer.mm
vendor/clang/dist/test/SemaObjCXX/deduction.mm
vendor/clang/dist/test/SemaObjCXX/ivar-construct.mm
vendor/clang/dist/test/SemaObjCXX/ivar-struct.mm
vendor/clang/dist/test/SemaObjCXX/objc2-merge-gc-attribue-decl.mm
vendor/clang/dist/test/SemaObjCXX/static-cast.mm
vendor/clang/dist/test/SemaTemplate/attributes.cpp
vendor/clang/dist/test/SemaTemplate/dependent-template-recover.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-non-dependent-types.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-overload-candidates.cpp
vendor/clang/dist/test/SemaTemplate/overload-candidates.cpp
vendor/clang/dist/test/SemaTemplate/unused-variables.cpp
vendor/clang/dist/tools/driver/cc1as_main.cpp
vendor/clang/dist/tools/libclang/CXTypes.cpp
vendor/clang/dist/www/clang-tutorial.html
Deleted:
vendor/clang/dist/lib/AST/RecordLayoutBuilder.h
vendor/clang/dist/test/CodeGenCXX/PR6747.cpp
Modified:
vendor/clang/dist/clang.xcodeproj/project.pbxproj
vendor/clang/dist/docs/InternalsManual.html
vendor/clang/dist/docs/UsersManual.html
vendor/clang/dist/docs/tools/clang.pod
vendor/clang/dist/include/clang-c/Index.h
vendor/clang/dist/include/clang/AST/ASTConsumer.h
vendor/clang/dist/include/clang/AST/ASTContext.h
vendor/clang/dist/include/clang/AST/Attr.h
vendor/clang/dist/include/clang/AST/CXXInheritance.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/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/Stmt.h
vendor/clang/dist/include/clang/AST/StmtVisitor.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/TypeNodes.def
vendor/clang/dist/include/clang/AST/TypeVisitor.h
vendor/clang/dist/include/clang/AST/UnresolvedSet.h
vendor/clang/dist/include/clang/Analysis/ProgramPoint.h
vendor/clang/dist/include/clang/Basic/Diagnostic.h
vendor/clang/dist/include/clang/Basic/Diagnostic.td
vendor/clang/dist/include/clang/Basic/DiagnosticASTKinds.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/SourceManager.h
vendor/clang/dist/include/clang/Basic/TargetInfo.h
vendor/clang/dist/include/clang/Basic/TokenKinds.def
vendor/clang/dist/include/clang/CMakeLists.txt
vendor/clang/dist/include/clang/Checker/PathSensitive/AnalysisManager.h
vendor/clang/dist/include/clang/Checker/PathSensitive/GRExprEngine.h
vendor/clang/dist/include/clang/Checker/PathSensitive/Store.h
vendor/clang/dist/include/clang/CodeGen/CodeGenOptions.h
vendor/clang/dist/include/clang/Driver/ArgList.h
vendor/clang/dist/include/clang/Driver/CC1Options.td
vendor/clang/dist/include/clang/Driver/CMakeLists.txt
vendor/clang/dist/include/clang/Driver/Makefile
vendor/clang/dist/include/clang/Driver/Options.td
vendor/clang/dist/include/clang/Driver/Tool.h
vendor/clang/dist/include/clang/Frontend/AnalysisConsumer.h
vendor/clang/dist/include/clang/Frontend/CodeGenAction.h
vendor/clang/dist/include/clang/Frontend/CompilerInstance.h
vendor/clang/dist/include/clang/Frontend/DeclXML.def
vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h
vendor/clang/dist/include/clang/Frontend/DocumentXML.h
vendor/clang/dist/include/clang/Frontend/FrontendActions.h
vendor/clang/dist/include/clang/Frontend/FrontendOptions.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/TypeXML.def
vendor/clang/dist/include/clang/Lex/LiteralSupport.h
vendor/clang/dist/include/clang/Lex/Preprocessor.h
vendor/clang/dist/include/clang/Makefile
vendor/clang/dist/include/clang/Parse/Action.h
vendor/clang/dist/include/clang/Parse/AttributeList.h
vendor/clang/dist/include/clang/Parse/Ownership.h
vendor/clang/dist/include/clang/Parse/Parser.h
vendor/clang/dist/include/clang/Parse/Scope.h
vendor/clang/dist/include/clang/Sema/CodeCompleteConsumer.h
vendor/clang/dist/lib/AST/ASTContext.cpp
vendor/clang/dist/lib/AST/ASTDiagnostic.cpp
vendor/clang/dist/lib/AST/ASTImporter.cpp
vendor/clang/dist/lib/AST/AttrImpl.cpp
vendor/clang/dist/lib/AST/CMakeLists.txt
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/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/NestedNameSpecifier.cpp
vendor/clang/dist/lib/AST/RecordLayout.cpp
vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp
vendor/clang/dist/lib/AST/Stmt.cpp
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/Type.cpp
vendor/clang/dist/lib/AST/TypeLoc.cpp
vendor/clang/dist/lib/AST/TypePrinter.cpp
vendor/clang/dist/lib/Analysis/CFG.cpp
vendor/clang/dist/lib/Analysis/CMakeLists.txt
vendor/clang/dist/lib/Basic/Diagnostic.cpp
vendor/clang/dist/lib/Basic/IdentifierTable.cpp
vendor/clang/dist/lib/Basic/SourceManager.cpp
vendor/clang/dist/lib/Basic/TargetInfo.cpp
vendor/clang/dist/lib/Basic/Targets.cpp
vendor/clang/dist/lib/Basic/Version.cpp
vendor/clang/dist/lib/Checker/BasicObjCFoundationChecks.cpp
vendor/clang/dist/lib/Checker/BasicStore.cpp
vendor/clang/dist/lib/Checker/CFRefCount.cpp
vendor/clang/dist/lib/Checker/CMakeLists.txt
vendor/clang/dist/lib/Checker/CheckObjCDealloc.cpp
vendor/clang/dist/lib/Checker/FlatStore.cpp
vendor/clang/dist/lib/Checker/GRCXXExprEngine.cpp
vendor/clang/dist/lib/Checker/GRExprEngine.cpp
vendor/clang/dist/lib/Checker/GRExprEngineExperimentalChecks.cpp
vendor/clang/dist/lib/Checker/GRExprEngineInternalChecks.h
vendor/clang/dist/lib/Checker/GRState.cpp
vendor/clang/dist/lib/Checker/LLVMConventionsChecker.cpp
vendor/clang/dist/lib/Checker/MallocChecker.cpp
vendor/clang/dist/lib/Checker/MemRegion.cpp
vendor/clang/dist/lib/Checker/ObjCUnusedIVarsChecker.cpp
vendor/clang/dist/lib/Checker/RegionStore.cpp
vendor/clang/dist/lib/CodeGen/CGBlocks.cpp
vendor/clang/dist/lib/CodeGen/CGBlocks.h
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/CGDeclCXX.cpp
vendor/clang/dist/lib/CodeGen/CGException.cpp
vendor/clang/dist/lib/CodeGen/CGExpr.cpp
vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp
vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp
vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp
vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp
vendor/clang/dist/lib/CodeGen/CGObjC.cpp
vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp
vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp
vendor/clang/dist/lib/CodeGen/CGObjCRuntime.h
vendor/clang/dist/lib/CodeGen/CGRecordLayout.h
vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp
vendor/clang/dist/lib/CodeGen/CGStmt.cpp
vendor/clang/dist/lib/CodeGen/CGVTT.cpp
vendor/clang/dist/lib/CodeGen/CGVTables.cpp
vendor/clang/dist/lib/CodeGen/CGVTables.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/CodeGenTypes.h
vendor/clang/dist/lib/CodeGen/Mangle.cpp
vendor/clang/dist/lib/CodeGen/Mangle.h
vendor/clang/dist/lib/CodeGen/ModuleBuilder.cpp
vendor/clang/dist/lib/CodeGen/TargetInfo.cpp
vendor/clang/dist/lib/Driver/ArgList.cpp
vendor/clang/dist/lib/Driver/CC1Options.cpp
vendor/clang/dist/lib/Driver/CMakeLists.txt
vendor/clang/dist/lib/Driver/Driver.cpp
vendor/clang/dist/lib/Driver/Tool.cpp
vendor/clang/dist/lib/Driver/ToolChains.cpp
vendor/clang/dist/lib/Driver/ToolChains.h
vendor/clang/dist/lib/Driver/Tools.cpp
vendor/clang/dist/lib/Driver/Tools.h
vendor/clang/dist/lib/Frontend/AnalysisConsumer.cpp
vendor/clang/dist/lib/Frontend/CMakeLists.txt
vendor/clang/dist/lib/Frontend/CodeGenAction.cpp
vendor/clang/dist/lib/Frontend/CompilerInstance.cpp
vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
vendor/clang/dist/lib/Frontend/DeclXML.cpp
vendor/clang/dist/lib/Frontend/DocumentXML.cpp
vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp
vendor/clang/dist/lib/Frontend/InitPreprocessor.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/PrintParserCallbacks.cpp
vendor/clang/dist/lib/Frontend/RewriteObjC.cpp
vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp
vendor/clang/dist/lib/Headers/emmintrin.h
vendor/clang/dist/lib/Headers/xmmintrin.h
vendor/clang/dist/lib/Index/ASTLocation.cpp
vendor/clang/dist/lib/Index/Analyzer.cpp
vendor/clang/dist/lib/Index/ResolveLocation.cpp
vendor/clang/dist/lib/Lex/Lexer.cpp
vendor/clang/dist/lib/Lex/LiteralSupport.cpp
vendor/clang/dist/lib/Parse/AttributeList.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/ParsePragma.cpp
vendor/clang/dist/lib/Parse/ParsePragma.h
vendor/clang/dist/lib/Parse/ParseStmt.cpp
vendor/clang/dist/lib/Parse/ParseTemplate.cpp
vendor/clang/dist/lib/Parse/ParseTentative.cpp
vendor/clang/dist/lib/Parse/Parser.cpp
vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp
vendor/clang/dist/lib/Sema/CMakeLists.txt
vendor/clang/dist/lib/Sema/CodeCompleteConsumer.cpp
vendor/clang/dist/lib/Sema/JumpDiagnostics.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/SemaChecking.cpp
vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp
vendor/clang/dist/lib/Sema/SemaDecl.cpp
vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp
vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp
vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp
vendor/clang/dist/lib/Sema/SemaExceptionSpec.cpp
vendor/clang/dist/lib/Sema/SemaExpr.cpp
vendor/clang/dist/lib/Sema/SemaExprCXX.cpp
vendor/clang/dist/lib/Sema/SemaExprObjC.cpp
vendor/clang/dist/lib/Sema/SemaInit.cpp
vendor/clang/dist/lib/Sema/SemaInit.h
vendor/clang/dist/lib/Sema/SemaLookup.cpp
vendor/clang/dist/lib/Sema/SemaObjCProperty.cpp
vendor/clang/dist/lib/Sema/SemaOverload.cpp
vendor/clang/dist/lib/Sema/SemaOverload.h
vendor/clang/dist/lib/Sema/SemaStmt.cpp
vendor/clang/dist/lib/Sema/SemaTemplate.cpp
vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp
vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp
vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp
vendor/clang/dist/lib/Sema/SemaType.cpp
vendor/clang/dist/lib/Sema/TreeTransform.h
vendor/clang/dist/test/Analysis/dead-stores.c
vendor/clang/dist/test/Analysis/inline.c
vendor/clang/dist/test/Analysis/inline2.c
vendor/clang/dist/test/Analysis/inline3.c
vendor/clang/dist/test/Analysis/inline4.c
vendor/clang/dist/test/Analysis/malloc.c
vendor/clang/dist/test/Analysis/method-call.cpp
vendor/clang/dist/test/Analysis/misc-ps-region-store.m
vendor/clang/dist/test/Analysis/misc-ps.m
vendor/clang/dist/test/Analysis/retain-release.m
vendor/clang/dist/test/CXX/class.access/class.friend/p1.cpp
vendor/clang/dist/test/CXX/class.access/p4.cpp
vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p8.cpp
vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/basic.cpp
vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p6.cpp
vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.type/p17.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p2.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p5.cpp
vendor/clang/dist/test/CodeCompletion/call.c
vendor/clang/dist/test/CodeCompletion/call.cpp
vendor/clang/dist/test/CodeCompletion/ordinary-name.cpp
vendor/clang/dist/test/CodeCompletion/truncation.c
vendor/clang/dist/test/CodeGen/blocks.c
vendor/clang/dist/test/CodeGen/builtins.c
vendor/clang/dist/test/CodeGen/complex.c
vendor/clang/dist/test/CodeGen/stdcall-fastcall.c
vendor/clang/dist/test/CodeGenCXX/anonymous-namespaces.cpp
vendor/clang/dist/test/CodeGenCXX/anonymous-union-member-initializer.cpp
vendor/clang/dist/test/CodeGenCXX/array-value-initialize.cpp
vendor/clang/dist/test/CodeGenCXX/class-layout.cpp
vendor/clang/dist/test/CodeGenCXX/condition.cpp
vendor/clang/dist/test/CodeGenCXX/cxx-apple-kext.cpp
vendor/clang/dist/test/CodeGenCXX/destructors.cpp
vendor/clang/dist/test/CodeGenCXX/dynamic-cast.cpp
vendor/clang/dist/test/CodeGenCXX/dyncast.cpp
vendor/clang/dist/test/CodeGenCXX/key-function-vtable.cpp
vendor/clang/dist/test/CodeGenCXX/mangle-subst-std.cpp
vendor/clang/dist/test/CodeGenCXX/pointers-to-data-members.cpp
vendor/clang/dist/test/CodeGenCXX/references.cpp
vendor/clang/dist/test/CodeGenCXX/rtti-linkage.cpp
vendor/clang/dist/test/CodeGenCXX/static-init.cpp
vendor/clang/dist/test/CodeGenCXX/static-local-in-local-class.cpp
vendor/clang/dist/test/CodeGenCXX/template-linkage.cpp
vendor/clang/dist/test/CodeGenCXX/thunks.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-base-destructor-call.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
vendor/clang/dist/test/CodeGenCXX/vtable-layout.cpp
vendor/clang/dist/test/CodeGenCXX/vtable-linkage.cpp
vendor/clang/dist/test/CodeGenCXX/x86_32-arguments.cpp
vendor/clang/dist/test/CodeGenCXX/x86_64-arguments.cpp
vendor/clang/dist/test/CodeGenObjC/atomic-aggregate-property.m
vendor/clang/dist/test/CodeGenObjC/blocks-1.m
vendor/clang/dist/test/CodeGenObjC/blocks-2.m
vendor/clang/dist/test/CodeGenObjC/blocks.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/objc2-new-gc-api-strongcast.m
vendor/clang/dist/test/CodeGenObjC/objc2-no-write-barrier.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-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/property-complex.m
vendor/clang/dist/test/CodeGenObjC/protocols.m
vendor/clang/dist/test/Coverage/ast-printing.cpp
vendor/clang/dist/test/Driver/bindings.c
vendor/clang/dist/test/Driver/clang_f_opts.c
vendor/clang/dist/test/FixIt/typo.m
vendor/clang/dist/test/Index/annotate-tokens.c
vendor/clang/dist/test/Index/annotate-tokens.m
vendor/clang/dist/test/Index/c-index-api-loadTU-test.m
vendor/clang/dist/test/Index/complete-at-directives.m
vendor/clang/dist/test/Index/complete-at-exprstmt.m
vendor/clang/dist/test/Index/complete-exprs.c
vendor/clang/dist/test/Index/complete-member-access.m
vendor/clang/dist/test/Index/load-stmts.cpp
vendor/clang/dist/test/Index/remap-load.c
vendor/clang/dist/test/Index/usrs.m
vendor/clang/dist/test/Lexer/gnu_keywords.c
vendor/clang/dist/test/Lexer/hexfloat.cpp
vendor/clang/dist/test/Makefile
vendor/clang/dist/test/PCH/Inputs/namespaces.h
vendor/clang/dist/test/PCH/cxx_exprs.cpp
vendor/clang/dist/test/PCH/cxx_exprs.h
vendor/clang/dist/test/PCH/namespaces.cpp
vendor/clang/dist/test/Parser/recovery.c
vendor/clang/dist/test/Sema/attr-sentinel.c
vendor/clang/dist/test/Sema/c89.c
vendor/clang/dist/test/Sema/compare.c
vendor/clang/dist/test/Sema/conditional-expr.c
vendor/clang/dist/test/Sema/conversion.c
vendor/clang/dist/test/Sema/format-strings.c
vendor/clang/dist/test/Sema/init.c
vendor/clang/dist/test/Sema/scope-check.c
vendor/clang/dist/test/Sema/switch.c
vendor/clang/dist/test/Sema/unused-expr.c
vendor/clang/dist/test/SemaCXX/alignof-sizeof-reference.cpp
vendor/clang/dist/test/SemaCXX/anonymous-union.cpp
vendor/clang/dist/test/SemaCXX/attr-deprecated.cpp
vendor/clang/dist/test/SemaCXX/blocks.cpp
vendor/clang/dist/test/SemaCXX/c99.cpp
vendor/clang/dist/test/SemaCXX/class.cpp
vendor/clang/dist/test/SemaCXX/compare.cpp
vendor/clang/dist/test/SemaCXX/conditional-expr.cpp
vendor/clang/dist/test/SemaCXX/constant-expression.cpp
vendor/clang/dist/test/SemaCXX/default-assignment-operator.cpp
vendor/clang/dist/test/SemaCXX/empty-class-layout.cpp
vendor/clang/dist/test/SemaCXX/enum.cpp
vendor/clang/dist/test/SemaCXX/i-c-e-cxx.cpp
vendor/clang/dist/test/SemaCXX/implicit-virtual-member-functions.cpp
vendor/clang/dist/test/SemaCXX/member-pointer.cpp
vendor/clang/dist/test/SemaCXX/namespace-alias.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.cpp
vendor/clang/dist/test/SemaCXX/references.cpp
vendor/clang/dist/test/SemaCXX/switch.cpp
vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp
vendor/clang/dist/test/SemaCXX/virtual-member-functions-key-function.cpp
vendor/clang/dist/test/SemaCXX/warn-missing-noreturn.cpp
vendor/clang/dist/test/SemaCXX/warn-reorder-ctor-initialization.cpp
vendor/clang/dist/test/SemaCXX/warn-weak-vtables.cpp
vendor/clang/dist/test/SemaObjC/block-attr.m
vendor/clang/dist/test/SemaObjC/error-property-gc-attr.m
vendor/clang/dist/test/SemaObjC/method-conflict.m
vendor/clang/dist/test/SemaObjC/objc2-warn-weak-decl.m
vendor/clang/dist/test/SemaObjC/warn-assign-property-nscopying.m
vendor/clang/dist/test/SemaObjC/warn-weak-field.m
vendor/clang/dist/test/SemaObjCXX/vla.mm
vendor/clang/dist/test/SemaObjCXX/void_to_obj.mm
vendor/clang/dist/test/SemaTemplate/current-instantiation.cpp
vendor/clang/dist/test/SemaTemplate/dependent-base-classes.cpp
vendor/clang/dist/test/SemaTemplate/dependent-expr.cpp
vendor/clang/dist/test/SemaTemplate/dependent-type-identity.cpp
vendor/clang/dist/test/SemaTemplate/enum-argument.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-anonymous-union.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-attr.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-complete.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-declref-ice.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-expr-2.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-expr-3.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-field.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-function-2.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-member-pointers.cpp
vendor/clang/dist/test/SemaTemplate/nested-name-spec-template.cpp
vendor/clang/dist/test/SemaTemplate/partial-spec-instantiate.cpp
vendor/clang/dist/test/SemaTemplate/temp_explicit.cpp
vendor/clang/dist/test/SemaTemplate/template-id-expr.cpp
vendor/clang/dist/test/SemaTemplate/virtual-member-functions.cpp
vendor/clang/dist/tools/c-index-test/c-index-test.c
vendor/clang/dist/tools/driver/CMakeLists.txt
vendor/clang/dist/tools/driver/cc1_main.cpp
vendor/clang/dist/tools/driver/driver.cpp
vendor/clang/dist/tools/libclang/CIndex.cpp
vendor/clang/dist/tools/libclang/CIndexCodeCompletion.cpp
vendor/clang/dist/tools/libclang/CIndexUSRs.cpp
vendor/clang/dist/tools/libclang/CMakeLists.txt
vendor/clang/dist/tools/libclang/CXCursor.cpp
vendor/clang/dist/tools/libclang/Makefile
vendor/clang/dist/tools/libclang/libclang.darwin.exports
vendor/clang/dist/tools/libclang/libclang.exports
vendor/clang/dist/www/analyzer/annotations.html
vendor/clang/dist/www/analyzer/latest_checker.html.incl
vendor/clang/dist/www/comparison.html
vendor/clang/dist/www/cxx_compatibility.html
vendor/clang/dist/www/cxx_status.html
vendor/clang/dist/www/get_started.html
Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj
==============================================================================
--- vendor/clang/dist/clang.xcodeproj/project.pbxproj Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/clang.xcodeproj/project.pbxproj Thu May 27 15:17:06 2010 (r208600)
@@ -441,43 +441,42 @@
1AA963AB10D8576800786C86 /* FullExpr.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = FullExpr.h; path = clang/AST/FullExpr.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; };
1ABC36930C7A4BDC006DB0AB /* CGBuiltin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGBuiltin.cpp; path = lib/CodeGen/CGBuiltin.cpp; sourceTree = "<group>"; tabWidth = 2; };
- 1ABD23B11182449800A48E65 /* APValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = APValue.cpp; sourceTree = "<group>"; };
- 1ABD23B21182449800A48E65 /* ASTConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTConsumer.cpp; sourceTree = "<group>"; };
- 1ABD23B31182449800A48E65 /* ASTContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTContext.cpp; sourceTree = "<group>"; };
- 1ABD23B41182449800A48E65 /* ASTDiagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTDiagnostic.cpp; sourceTree = "<group>"; };
- 1ABD23B51182449800A48E65 /* ASTImporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ASTImporter.cpp; sourceTree = "<group>"; };
- 1ABD23B61182449800A48E65 /* AttrImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = AttrImpl.cpp; sourceTree = "<group>"; };
- 1ABD23B71182449800A48E65 /* CXXInheritance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = CXXInheritance.cpp; sourceTree = "<group>"; };
- 1ABD23B81182449800A48E65 /* Decl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Decl.cpp; sourceTree = "<group>"; };
- 1ABD23B91182449800A48E65 /* DeclarationName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclarationName.cpp; sourceTree = "<group>"; };
- 1ABD23BA1182449800A48E65 /* DeclBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclBase.cpp; sourceTree = "<group>"; };
- 1ABD23BB1182449800A48E65 /* DeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclCXX.cpp; sourceTree = "<group>"; };
- 1ABD23BC1182449800A48E65 /* DeclFriend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclFriend.cpp; sourceTree = "<group>"; };
- 1ABD23BD1182449800A48E65 /* DeclGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclGroup.cpp; sourceTree = "<group>"; };
- 1ABD23BE1182449800A48E65 /* DeclObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclObjC.cpp; sourceTree = "<group>"; };
- 1ABD23BF1182449800A48E65 /* DeclPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclPrinter.cpp; sourceTree = "<group>"; };
- 1ABD23C01182449800A48E65 /* DeclTemplate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = DeclTemplate.cpp; sourceTree = "<group>"; };
- 1ABD23C11182449800A48E65 /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Expr.cpp; sourceTree = "<group>"; };
- 1ABD23C21182449800A48E65 /* ExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExprConstant.cpp; sourceTree = "<group>"; };
- 1ABD23C31182449800A48E65 /* ExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ExprCXX.cpp; sourceTree = "<group>"; };
- 1ABD23C41182449800A48E65 /* FullExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = FullExpr.cpp; sourceTree = "<group>"; };
- 1ABD23C51182449800A48E65 /* InheritViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = InheritViz.cpp; sourceTree = "<group>"; };
- 1ABD23C61182449800A48E65 /* NestedNameSpecifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = NestedNameSpecifier.cpp; sourceTree = "<group>"; };
- 1ABD23C71182449800A48E65 /* ParentMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ParentMap.cpp; sourceTree = "<group>"; };
- 1ABD23C81182449800A48E65 /* RecordLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayout.cpp; sourceTree = "<group>"; };
- 1ABD23C91182449800A48E65 /* RecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayoutBuilder.cpp; sourceTree = "<group>"; };
- 1ABD23CA1182449800A48E65 /* RecordLayoutBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RecordLayoutBuilder.h; sourceTree = "<group>"; };
- 1ABD23CB1182449800A48E65 /* Stmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Stmt.cpp; sourceTree = "<group>"; };
- 1ABD23CC1182449800A48E65 /* StmtDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtDumper.cpp; sourceTree = "<group>"; };
- 1ABD23CD1182449800A48E65 /* StmtIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtIterator.cpp; sourceTree = "<group>"; };
- 1ABD23CE1182449800A48E65 /* StmtPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtPrinter.cpp; sourceTree = "<group>"; };
- 1ABD23CF1182449800A48E65 /* StmtProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtProfile.cpp; sourceTree = "<group>"; };
- 1ABD23D01182449800A48E65 /* StmtViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = StmtViz.cpp; sourceTree = "<group>"; };
- 1ABD23D11182449800A48E65 /* TemplateBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateBase.cpp; sourceTree = "<group>"; };
- 1ABD23D21182449800A48E65 /* TemplateName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateName.cpp; sourceTree = "<group>"; };
- 1ABD23D31182449800A48E65 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Type.cpp; sourceTree = "<group>"; };
- 1ABD23D41182449800A48E65 /* TypeLoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TypeLoc.cpp; sourceTree = "<group>"; };
- 1ABD23D51182449800A48E65 /* TypePrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = TypePrinter.cpp; sourceTree = "<group>"; };
+ 1ABD23B11182449800A48E65 /* APValue.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = APValue.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B21182449800A48E65 /* ASTConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTConsumer.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B31182449800A48E65 /* ASTContext.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTContext.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B41182449800A48E65 /* ASTDiagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTDiagnostic.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B51182449800A48E65 /* ASTImporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ASTImporter.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B61182449800A48E65 /* AttrImpl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = AttrImpl.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B71182449800A48E65 /* CXXInheritance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = CXXInheritance.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B81182449800A48E65 /* Decl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Decl.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23B91182449800A48E65 /* DeclarationName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclarationName.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23BA1182449800A48E65 /* DeclBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclBase.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23BB1182449800A48E65 /* DeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23BC1182449800A48E65 /* DeclFriend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclFriend.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23BD1182449800A48E65 /* DeclGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclGroup.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23BE1182449800A48E65 /* DeclObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclObjC.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23BF1182449800A48E65 /* DeclPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclPrinter.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C01182449800A48E65 /* DeclTemplate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = DeclTemplate.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C11182449800A48E65 /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Expr.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C21182449800A48E65 /* ExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ExprConstant.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C31182449800A48E65 /* ExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ExprCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C41182449800A48E65 /* FullExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = FullExpr.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C51182449800A48E65 /* InheritViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = InheritViz.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C61182449800A48E65 /* NestedNameSpecifier.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = NestedNameSpecifier.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C71182449800A48E65 /* ParentMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = ParentMap.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C81182449800A48E65 /* RecordLayout.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayout.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23C91182449800A48E65 /* RecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = RecordLayoutBuilder.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23CB1182449800A48E65 /* Stmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Stmt.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23CC1182449800A48E65 /* StmtDumper.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtDumper.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23CD1182449800A48E65 /* StmtIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtIterator.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23CE1182449800A48E65 /* StmtPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtPrinter.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23CF1182449800A48E65 /* StmtProfile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtProfile.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23D01182449800A48E65 /* StmtViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = StmtViz.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23D11182449800A48E65 /* TemplateBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateBase.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23D21182449800A48E65 /* TemplateName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TemplateName.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23D31182449800A48E65 /* Type.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Type.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23D41182449800A48E65 /* TypeLoc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TypeLoc.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ABD23D51182449800A48E65 /* TypePrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = TypePrinter.cpp; sourceTree = "<group>"; tabWidth = 2; };
1ACB57DB1105820D0047B991 /* CompilerInstance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CompilerInstance.cpp; path = lib/Frontend/CompilerInstance.cpp; sourceTree = "<group>"; };
1ACB57DC1105820D0047B991 /* CompilerInvocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CompilerInvocation.cpp; path = lib/Frontend/CompilerInvocation.cpp; sourceTree = "<group>"; };
1ACB57DD1105820D0047B991 /* DeclXML.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeclXML.cpp; path = lib/Frontend/DeclXML.cpp; sourceTree = "<group>"; };
@@ -1494,7 +1493,6 @@
1ABD23C71182449800A48E65 /* ParentMap.cpp */,
1ABD23C81182449800A48E65 /* RecordLayout.cpp */,
1ABD23C91182449800A48E65 /* RecordLayoutBuilder.cpp */,
- 1ABD23CA1182449800A48E65 /* RecordLayoutBuilder.h */,
1ABD23CB1182449800A48E65 /* Stmt.cpp */,
1ABD23CC1182449800A48E65 /* StmtDumper.cpp */,
1ABD23CD1182449800A48E65 /* StmtIterator.cpp */,
Modified: vendor/clang/dist/docs/InternalsManual.html
==============================================================================
--- vendor/clang/dist/docs/InternalsManual.html Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/docs/InternalsManual.html Thu May 27 15:17:06 2010 (r208600)
@@ -532,12 +532,12 @@ source code of the program. Important d
</ol>
<p>In practice, the SourceLocation works together with the SourceManager class
-to encode two pieces of information about a location: it's spelling location
-and it's instantiation location. For most tokens, these will be the same. However,
-for a macro expansion (or tokens that came from a _Pragma directive) these will
-describe the location of the characters corresponding to the token and the
-location where the token was used (i.e. the macro instantiation point or the
-location of the _Pragma itself).</p>
+to encode two pieces of information about a location: its spelling location
+and its instantiation location. For most tokens, these will be the same.
+However, for a macro expansion (or tokens that came from a _Pragma directive)
+these will describe the location of the characters corresponding to the token
+and the location where the token was used (i.e. the macro instantiation point
+or the location of the _Pragma itself).</p>
<p>The Clang front-end inherently depends on the location of a token being
tracked correctly. If it is ever incorrect, the front-end may get confused and
Modified: vendor/clang/dist/docs/UsersManual.html
==============================================================================
--- vendor/clang/dist/docs/UsersManual.html Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/docs/UsersManual.html Thu May 27 15:17:06 2010 (r208600)
@@ -36,6 +36,7 @@ td {
<ul>
<li><a href="#diagnostics_display">Controlling How Clang Displays Diagnostics</a></li>
<li><a href="#diagnostics_mappings">Diagnostic Mappings</a></li>
+ <li><a href="#diagnostics_categories">Diagnostic Categories</a><li>
<li><a href="#diagnostics_commandline">Controlling Diagnostics via Command Line Flags</a></li>
<li><a href="#diagnostics_pragmas">Controlling Diagnostics via Pragmas</a></li>
</ul>
@@ -286,6 +287,30 @@ diagnostic. This information tells you
diagnostic, either from the command line or through <a
href="#pragma_GCC_diagnostic">#pragma GCC diagnostic</a>.</dd>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fdiagnostics-show-category"><b>-fdiagnostics-show-category=none/id/name</b>:
+Enable printing category information in diagnostic line.</dt>
+<dd>This option, which defaults to "none",
+controls whether or not Clang prints the category associated with a diagnostic
+when emitting it. Each diagnostic may or many not have an associated category,
+if it has one, it is listed in the diagnostic categorization field of the
+diagnostic line (in the []'s).</p>
+
+<p>For example, a format string warning will produce these three renditions
+based on the setting of this option:</p>
+
+<pre>
+ t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat]
+ t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat<b>,1</b>]
+ t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int' [-Wformat<b>,Format String</b>]
+</pre>
+
+<p>This category can be used by clients that want to group diagnostics by
+category, so it should be a high level category. We want dozens of these, not
+hundreds or thousands of them.</p>
+</dd>
+
+
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<dt id="opt_fdiagnostics-fixit-info"><b>-f[no-]diagnostics-fixit-info</b>:
@@ -393,6 +418,10 @@ it:</p>
<li>An option that indicates how to control the diagnostic (for diagnostics that
support it) [<a
href="#opt_fdiagnostics-show-option">-fdiagnostics-show-option</a>].</li>
+<li>A <a href="#diagnostics_categories">high-level category</a> for the
+ diagnostic for clients that want to group diagnostics by class (for
+ diagnostics that support it) [<a
+ href="#opt_fdiagnostics-show-category">-fdiagnostics-show-category</a>].</li>
<li>The line of source code that the issue occurs on, along with a caret and
ranges that indicate the important locations [<a
href="opt_fcaret-diagnostics">-fcaret-diagnostics</a>].</li>
@@ -407,6 +436,7 @@ it:</p>
<p>For more information please see <a href="#cl_diag_formatting">Formatting of
Diagnostics</a>.</p>
+
<h4 id="diagnostics_mappings">Diagnostic Mappings</h4>
<p>All diagnostics are mapped into one of these 5 classes:</p>
@@ -420,7 +450,23 @@ Diagnostics</a>.</p>
<li>Fatal</li>
</ul></p>
-<h4 id="diagnostics_commandline">Controlling Diagnostics via Command Line Flags</h4>
+<h4 id="diagnostics_categories">Diagnostic Categories</h4>
+
+<p>Though not shown by default, diagnostics may each be associated with a
+ high-level category. This category is intended to make it possible to triage
+ builds that produce a large number of errors or warnings in a grouped way.
+</p>
+
+<p>Categories are not shown by default, but they can be turned on with the
+<a href="#opt_fdiagnostics-show-category">-fdiagnostics-show-category</a> option.
+When set to "<tt>name</tt>", the category is printed textually in the diagnostic
+output. When it is set to "<tt>id</tt>", a category number is printed. The
+mapping of category names to category id's can be obtained by running '<tt>clang
+ --print-diagnostic-categories</tt>'.
+</p>
+
+<h4 id="diagnostics_commandline">Controlling Diagnostics via Command Line
+ Flags</h4>
<p>-W flags, -pedantic, etc</p>
Modified: vendor/clang/dist/docs/tools/clang.pod
==============================================================================
--- vendor/clang/dist/docs/tools/clang.pod Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/docs/tools/clang.pod Thu May 27 15:17:06 2010 (r208600)
@@ -50,10 +50,13 @@ parse errors. The output of this stage
=item B<Code Generation and Optimization>
This stage translates an AST into low-level intermediate code (known as "LLVM
-IR") and ultimately to machine code (depending on the optimization level). This
-phase is responsible for optimizing the generated code and handling
-target-specfic code generation. The output of this stage is typically called a
-".s" file or "assembly" file.
+IR") and ultimately to machine code. This phase is responsible for optimizing
+the generated code and handling target-specfic code generation. The output of
+this stage is typically called a ".s" file or "assembly" file.
+
+Clang also supports the use of an integrated assembler, in which the code
+generator produces object files directly. This avoids the overhead of generating
+the ".s" file and of calling the target assembler.
=item B<Assembler>
@@ -325,17 +328,21 @@ Pass I<arg> to the assembler.
=item B<-Xclang> I<arg>
-Pass I<arg> to the clang compiler.
+Pass I<arg> to the clang compiler frontend.
=item B<-Xlinker> I<arg>
Pass I<arg> to the linker.
+=item B<-mllvm> I<arg>
+
+Pass I<arg> to the LLVM backend.
+
=item B<-Xpreprocessor> I<arg>
Pass I<arg> to the preprocessor.
-=item B<-o> I<file>
+=item B<-o> I<file>
Write output to I<file>.
@@ -359,6 +366,12 @@ Print the paths used for finding librari
Save intermediate compilation results.
+=item B<-integrated-as> B<-no-integrated-as>
+
+Used to enable and disable, respectively, the use of the integrated
+assembler. Whether the integrated assembler is on by default is target
+dependent.
+
=item B<-time>
Time individual commands.
Modified: vendor/clang/dist/include/clang-c/Index.h
==============================================================================
--- vendor/clang/dist/include/clang-c/Index.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang-c/Index.h Thu May 27 15:17:06 2010 (r208600)
@@ -343,6 +343,12 @@ CINDEX_LINKAGE CXSourceLocation clang_ge
CINDEX_LINKAGE CXSourceLocation clang_getRangeEnd(CXSourceRange range);
/**
+ * \brief Determine if the source location occurs within the main file
+ * of the translation unit (as opposed to an included header).
+ */
+CINDEX_LINKAGE unsigned clang_isFromMainFile(CXSourceLocation loc);
+
+/**
* @}
*/
@@ -648,7 +654,6 @@ CINDEX_LINKAGE void clang_disposeTransla
*/
enum CXCursorKind {
/* Declarations */
- CXCursor_FirstDecl = 1,
/**
* \brief A declaration whose specific kind is not exposed via this
* interface.
@@ -700,11 +705,15 @@ enum CXCursorKind {
CXCursor_ObjCCategoryImplDecl = 19,
/** \brief A typedef */
CXCursor_TypedefDecl = 20,
-
/** \brief A C++ class method. */
CXCursor_CXXMethod = 21,
+ /** \brief A C++ namespace. */
+ CXCursor_Namespace = 22,
+ /** \brief A linkage specification, e.g. 'extern "C"'. */
+ CXCursor_LinkageSpec = 23,
- CXCursor_LastDecl = 21,
+ CXCursor_FirstDecl = CXCursor_UnexposedDecl,
+ CXCursor_LastDecl = CXCursor_LinkageSpec,
/* References */
CXCursor_FirstRef = 40, /* Decl references */
@@ -807,7 +816,8 @@ enum CXCursorKind {
CXCursor_IBActionAttr = 401,
CXCursor_IBOutletAttr = 402,
- CXCursor_LastAttr = CXCursor_IBOutletAttr,
+ CXCursor_IBOutletCollectionAttr = 403,
+ CXCursor_LastAttr = CXCursor_IBOutletCollectionAttr,
/* Preprocessing */
CXCursor_PreprocessingDirective = 500,
@@ -1021,6 +1031,124 @@ CINDEX_LINKAGE CXSourceRange clang_getCu
*/
/**
+ * \defgroup CINDEX_TYPES Type information for CXCursors
+ *
+ * @{
+ */
+
+/**
+ * \brief Describes the kind of type
+ */
+enum CXTypeKind {
+ /**
+ * \brief Reprents an invalid type (e.g., where no type is available).
+ */
+ CXType_Invalid = 0,
+
+ /**
+ * \brief A type whose specific kind is not exposed via this
+ * interface.
+ */
+ CXType_Unexposed = 1,
+
+ /* Builtin types */
+ CXType_Void = 2,
+ CXType_Bool = 3,
+ CXType_Char_U = 4,
+ CXType_UChar = 5,
+ CXType_Char16 = 6,
+ CXType_Char32 = 7,
+ CXType_UShort = 8,
+ CXType_UInt = 9,
+ CXType_ULong = 10,
+ CXType_ULongLong = 11,
+ CXType_UInt128 = 12,
+ CXType_Char_S = 13,
+ CXType_SChar = 14,
+ CXType_WChar = 15,
+ CXType_Short = 16,
+ CXType_Int = 17,
+ CXType_Long = 18,
+ CXType_LongLong = 19,
+ CXType_Int128 = 20,
+ CXType_Float = 21,
+ CXType_Double = 22,
+ CXType_LongDouble = 23,
+ CXType_NullPtr = 24,
+ CXType_Overload = 25,
+ CXType_Dependent = 26,
+ CXType_ObjCId = 27,
+ CXType_ObjCClass = 28,
+ CXType_ObjCSel = 29,
+ CXType_FirstBuiltin = CXType_Void,
+ CXType_LastBuiltin = CXType_ObjCSel,
+
+ CXType_Complex = 100,
+ CXType_Pointer = 101,
+ CXType_BlockPointer = 102,
+ CXType_LValueReference = 103,
+ CXType_RValueReference = 104,
+ CXType_Record = 105,
+ CXType_Enum = 106,
+ CXType_Typedef = 107,
+ CXType_ObjCInterface = 108,
+ CXType_ObjCObjectPointer = 109
+};
+
+/**
+ * \brief The type of an element in the abstract syntax tree.
+ *
+ */
+typedef struct {
+ enum CXTypeKind kind;
+ void *data[2];
+} CXType;
+
+/**
+ * \brief Retrieve the type of a CXCursor (if any).
+ */
+CINDEX_LINKAGE CXType clang_getCursorType(CXCursor C);
+
+/**
+ * \determine Determine whether two CXTypes represent the same type.
+ *
+ * \returns non-zero if the CXTypes represent the same type and
+ zero otherwise.
+ */
+CINDEX_LINKAGE unsigned clang_equalTypes(CXType A, CXType B);
+
+/**
+ * \brief Return the canonical type for a CXType.
+ *
+ * Clang's type system explicitly models typedefs and all the ways
+ * a specific type can be represented. The canonical type is the underlying
+ * type with all the "sugar" removed. For example, if 'T' is a typedef
+ * for 'int', the canonical type for 'T' would be 'int'.
+ */
+CINDEX_LINKAGE CXType clang_getCanonicalType(CXType T);
+
+/**
+ * \brief For pointer types, returns the type of the pointee.
+ *
+ */
+CINDEX_LINKAGE CXType clang_getPointeeType(CXType T);
+
+/**
+ * \brief Return the cursor for the declaration of the given type.
+ */
+CINDEX_LINKAGE CXCursor clang_getTypeDeclaration(CXType T);
+
+
+/**
+ * \brief Retrieve the spelling of a given CXTypeKind.
+ */
+CINDEX_LINKAGE CXString clang_getTypeKindSpelling(enum CXTypeKind K);
+
+/**
+ * @}
+ */
+
+/**
* \defgroup CINDEX_CURSOR_TRAVERSAL Traversing the AST with cursors
*
* These routines provide the ability to traverse the abstract syntax tree
@@ -1220,6 +1348,24 @@ CINDEX_LINKAGE unsigned clang_isCursorDe
*/
/**
+ * \defgroup CINDEX_CPP C++ AST introspection
+ *
+ * The routines in this group provide access information in the ASTs specific
+ * to C++ language features.
+ *
+ * @{
+ */
+
+/**
+ * \brief Determine if a C++ member function is declared 'static'.
+ */
+CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C);
+
+/**
+ * @}
+ */
+
+/**
* \defgroup CINDEX_LEX Token extraction and manipulation
*
* The routines in this group provide access to the tokens within a
@@ -1649,6 +1795,21 @@ CINDEX_LINKAGE unsigned
clang_getNumCompletionChunks(CXCompletionString completion_string);
/**
+ * \brief Determine the priority of this code completion.
+ *
+ * The priority of a code completion indicates how likely it is that this
+ * particular completion is the completion that the user will select. The
+ * priority is selected by various internal heuristics.
+ *
+ * \param completion_string The completion string to query.
+ *
+ * \returns The priority of this completion string. Smaller values indicate
+ * higher-priority (more likely) completions.
+ */
+CINDEX_LINKAGE unsigned
+clang_getCompletionPriority(CXCompletionString completion_string);
+
+/**
* \brief Contains the results of code-completion.
*
* This data structure contains the results of code completion, as
Modified: vendor/clang/dist/include/clang/AST/ASTConsumer.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTConsumer.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang/AST/ASTConsumer.h Thu May 27 15:17:06 2010 (r208600)
@@ -16,6 +16,7 @@
namespace clang {
class ASTContext;
+ class CXXRecordDecl;
class DeclGroupRef;
class TagDecl;
class HandleTagDeclDefinition;
@@ -68,6 +69,17 @@ public:
/// modified by the introduction of an implicit zero initializer.
virtual void CompleteTentativeDefinition(VarDecl *D) {}
+ /// \brief Callback involved at the end of a translation unit to
+ /// notify the consumer that a vtable for the given C++ class is
+ /// required.
+ ///
+ /// \param RD The class whose vtable was used.
+ ///
+ /// \param DefinitionRequired Whether a definition of this vtable is
+ /// required in this translation unit; otherwise, it is only needed if
+ /// it was actually used.
+ virtual void HandleVTable(CXXRecordDecl *RD, bool DefinitionRequired) {}
+
/// PrintStats - If desired, print any statistics.
virtual void PrintStats() {}
Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTContext.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang/AST/ASTContext.h Thu May 27 15:17:06 2010 (r208600)
@@ -96,11 +96,10 @@ class ASTContext {
llvm::FoldingSet<TemplateTypeParmType> TemplateTypeParmTypes;
llvm::FoldingSet<SubstTemplateTypeParmType> SubstTemplateTypeParmTypes;
llvm::FoldingSet<TemplateSpecializationType> TemplateSpecializationTypes;
- llvm::FoldingSet<QualifiedNameType> QualifiedNameTypes;
+ llvm::FoldingSet<ElaboratedType> ElaboratedTypes;
llvm::FoldingSet<DependentNameType> DependentNameTypes;
- llvm::FoldingSet<ObjCInterfaceType> ObjCInterfaceTypes;
+ llvm::FoldingSet<ObjCObjectTypeImpl> ObjCObjectTypes;
llvm::FoldingSet<ObjCObjectPointerType> ObjCObjectPointerTypes;
- llvm::FoldingSet<ElaboratedType> ElaboratedTypes;
llvm::FoldingSet<QualifiedTemplateName> QualifiedTemplateNames;
llvm::FoldingSet<DependentTemplateName> DependentTemplateNames;
@@ -483,7 +482,7 @@ public:
/// This gets the struct used to keep track of pointer to blocks, complete
/// with captured variables.
QualType getBlockParmType(bool BlockHasCopyDispose,
- llvm::SmallVector<const Expr *, 8> &BDRDs);
+ llvm::SmallVectorImpl<const Expr *> &Layout);
/// This builds the struct used for __block variables.
QualType BuildByRefType(const char *DeclName, QualType Ty);
@@ -613,8 +612,9 @@ public:
const TemplateArgumentListInfo &Args,
QualType Canon = QualType());
- QualType getQualifiedNameType(NestedNameSpecifier *NNS,
- QualType NamedType);
+ QualType getElaboratedType(ElaboratedTypeKeyword Keyword,
+ NestedNameSpecifier *NNS,
+ QualType NamedType);
QualType getDependentNameType(ElaboratedTypeKeyword Keyword,
NestedNameSpecifier *NNS,
const IdentifierInfo *Name,
@@ -623,19 +623,16 @@ public:
NestedNameSpecifier *NNS,
const TemplateSpecializationType *TemplateId,
QualType Canon = QualType());
- QualType getElaboratedType(QualType UnderlyingType,
- ElaboratedType::TagKind Tag);
- QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl,
- ObjCProtocolDecl **Protocols = 0,
- unsigned NumProtocols = 0);
-
- /// getObjCObjectPointerType - Return a ObjCObjectPointerType type for the
- /// given interface decl and the conforming protocol list.
- QualType getObjCObjectPointerType(QualType OIT,
- ObjCProtocolDecl **ProtocolList = 0,
- unsigned NumProtocols = 0,
- unsigned Quals = 0);
+ QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl);
+
+ QualType getObjCObjectType(QualType Base,
+ ObjCProtocolDecl * const *Protocols,
+ unsigned NumProtocols);
+
+ /// getObjCObjectPointerType - Return a ObjCObjectPointerType type
+ /// for the given ObjCObjectType.
+ QualType getObjCObjectPointerType(QualType OIT);
/// getTypeOfType - GCC extension.
QualType getTypeOfExprType(Expr *e);
@@ -913,6 +910,9 @@ public:
CharUnits getTypeAlignInChars(QualType T);
CharUnits getTypeAlignInChars(const Type *T);
+ std::pair<CharUnits, CharUnits> getTypeInfoInChars(const Type *T);
+ std::pair<CharUnits, CharUnits> getTypeInfoInChars(QualType T);
+
/// getPreferredTypeAlign - Return the "preferred" alignment of the specified
/// type for the current target in bits. This can be different than the ABI
/// alignment in cases where it is beneficial for performance to overalign
@@ -1184,8 +1184,8 @@ public:
// Check the safety of assignment from LHS to RHS
bool canAssignObjCInterfaces(const ObjCObjectPointerType *LHSOPT,
const ObjCObjectPointerType *RHSOPT);
- bool canAssignObjCInterfaces(const ObjCInterfaceType *LHS,
- const ObjCInterfaceType *RHS);
+ bool canAssignObjCInterfaces(const ObjCObjectType *LHS,
+ const ObjCObjectType *RHS);
bool canAssignObjCInterfacesInBlockPointer(
const ObjCObjectPointerType *LHSOPT,
const ObjCObjectPointerType *RHSOPT);
@@ -1196,6 +1196,8 @@ public:
// Functions for calculating composite types
QualType mergeTypes(QualType, QualType, bool OfBlockPointer=false);
QualType mergeFunctionTypes(QualType, QualType, bool OfBlockPointer=false);
+
+ QualType mergeObjCGCQualifiers(QualType, QualType);
/// UsualArithmeticConversionsType - handles the various conversions
/// that are common to binary operators (C99 6.3.1.8, C++ [expr]p9)
@@ -1270,6 +1272,15 @@ public:
TypeSourceInfo *
getTrivialTypeSourceInfo(QualType T, SourceLocation Loc = SourceLocation());
+ /// \brief Add a deallocation callback that will be invoked when the
+ /// ASTContext is destroyed.
+ ///
+ /// \brief Callback A callback function that will be invoked on destruction.
+ ///
+ /// \brief Data Pointer data that will be provided to the callback function
+ /// when it is called.
+ void AddDeallocation(void (*Callback)(void*), void *Data);
+
private:
ASTContext(const ASTContext&); // DO NOT IMPLEMENT
void operator=(const ASTContext&); // DO NOT IMPLEMENT
@@ -1284,16 +1295,21 @@ private:
const FieldDecl *Field,
bool OutermostType = false,
bool EncodingProperty = false);
-
+
const ASTRecordLayout &getObjCLayout(const ObjCInterfaceDecl *D,
const ObjCImplementationDecl *Impl);
private:
+ /// \brief A set of deallocations that should be performed when the
+ /// ASTContext is destroyed.
+ llvm::SmallVector<std::pair<void (*)(void*), void *>, 16> Deallocations;
+
// FIXME: This currently contains the set of StoredDeclMaps used
// by DeclContext objects. This probably should not be in ASTContext,
// but we include it here so that ASTContext can quickly deallocate them.
llvm::PointerIntPair<StoredDeclsMap*,1> LastSDM;
friend class DeclContext;
+ friend class DeclarationNameTable;
void ReleaseDeclContextMaps();
};
Modified: vendor/clang/dist/include/clang/AST/Attr.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Attr.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang/AST/Attr.h Thu May 27 15:17:06 2010 (r208600)
@@ -23,9 +23,10 @@ using llvm::dyn_cast;
namespace clang {
class ASTContext;
+ class IdentifierInfo;
+ class ObjCInterfaceDecl;
}
-
// Defined in ASTContext.h
void *operator new(size_t Bytes, clang::ASTContext &C,
size_t Alignment = 16) throw ();
@@ -44,6 +45,7 @@ public:
enum Kind {
Alias,
Aligned,
+ AlignMac68k,
AlwaysInline,
AnalyzerNoReturn, // Clang-specific.
Annotate,
@@ -63,8 +65,10 @@ public:
GNUInline,
Hiding,
IBOutletKind, // Clang-specific. Use "Kind" suffix to not conflict w/ macro.
+ IBOutletCollectionKind, // Clang-specific.
IBActionKind, // Clang-specific. Use "Kind" suffix to not conflict w/ macro.
Malloc,
+ MaxFieldAlignment,
NoDebug,
NoInline,
NonNull,
@@ -79,13 +83,13 @@ public:
NSReturnsNotRetained, // Clang/Checker-specific.
Overloadable, // Clang-specific
Packed,
- PragmaPack,
Pure,
Regparm,
ReqdWorkGroupSize, // OpenCL-specific
Section,
Sentinel,
StdCall,
+ ThisCall,
TransparentUnion,
Unavailable,
Unused,
@@ -183,11 +187,14 @@ public:
DEF_SIMPLE_ATTR(Packed);
-class PragmaPackAttr : public Attr {
+/// \brief Attribute for specifying a maximum field alignment; this is only
+/// valid on record decls.
+class MaxFieldAlignmentAttr : public Attr {
unsigned Alignment;
public:
- PragmaPackAttr(unsigned alignment) : Attr(PragmaPack), Alignment(alignment) {}
+ MaxFieldAlignmentAttr(unsigned alignment)
+ : Attr(MaxFieldAlignment), Alignment(alignment) {}
/// getAlignment - The specified alignment in bits.
unsigned getAlignment() const { return Alignment; }
@@ -196,11 +203,13 @@ public:
// Implement isa/cast/dyncast/etc.
static bool classof(const Attr *A) {
- return A->getKind() == PragmaPack;
+ return A->getKind() == MaxFieldAlignment;
}
- static bool classof(const PragmaPackAttr *A) { return true; }
+ static bool classof(const MaxFieldAlignmentAttr *A) { return true; }
};
+DEF_SIMPLE_ATTR(AlignMac68k);
+
class AlignedAttr : public Attr {
unsigned Alignment;
public:
@@ -317,6 +326,23 @@ public:
static bool classof(const IBOutletAttr *A) { return true; }
};
+class IBOutletCollectionAttr : public Attr {
+ const ObjCInterfaceDecl *D;
+public:
+ IBOutletCollectionAttr(const ObjCInterfaceDecl *d = 0)
+ : Attr(IBOutletCollectionKind), D(d) {}
+
+ const ObjCInterfaceDecl *getClass() const { return D; }
+
+ virtual Attr *clone(ASTContext &C) const;
+
+ // Implement isa/cast/dyncast/etc.
+ static bool classof(const Attr *A) {
+ return A->getKind() == IBOutletCollectionKind;
+ }
+ static bool classof(const IBOutletCollectionAttr *A) { return true; }
+};
+
class IBActionAttr : public Attr {
public:
IBActionAttr() : Attr(IBActionKind) {}
@@ -457,6 +483,7 @@ public:
DEF_SIMPLE_ATTR(FastCall);
DEF_SIMPLE_ATTR(StdCall);
+DEF_SIMPLE_ATTR(ThisCall);
DEF_SIMPLE_ATTR(CDecl);
DEF_SIMPLE_ATTR(TransparentUnion);
DEF_SIMPLE_ATTR(ObjCNSObject);
Added: vendor/clang/dist/include/clang/AST/CMakeLists.txt
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ vendor/clang/dist/include/clang/AST/CMakeLists.txt Thu May 27 15:17:06 2010 (r208600)
@@ -0,0 +1,5 @@
+set(LLVM_TARGET_DEFINITIONS StmtNodes.td)
+tablegen(StmtNodes.inc
+ -gen-clang-stmt-nodes)
+add_custom_target(ClangStmtNodes
+ DEPENDS StmtNodes.inc)
Modified: vendor/clang/dist/include/clang/AST/CXXInheritance.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CXXInheritance.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang/AST/CXXInheritance.h Thu May 27 15:17:06 2010 (r208600)
@@ -196,7 +196,7 @@ public:
/// \brief Determine whether the path from the most-derived type to the
/// given base type is ambiguous (i.e., it refers to multiple subobjects of
/// the same base type).
- bool isAmbiguous(QualType BaseType);
+ bool isAmbiguous(CanQualType BaseType);
/// \brief Whether we are finding multiple paths to detect ambiguities.
bool isFindingAmbiguities() const { return FindAmbiguities; }
Modified: vendor/clang/dist/include/clang/AST/CanonicalType.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CanonicalType.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang/AST/CanonicalType.h Thu May 27 15:17:06 2010 (r208600)
@@ -643,6 +643,24 @@ struct CanProxyAdaptor<TemplateTypeParmT
};
template<>
+struct CanProxyAdaptor<ObjCObjectType>
+ : public CanProxyBase<ObjCObjectType> {
+ LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getBaseType)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(const ObjCInterfaceDecl *,
+ getInterface)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCUnqualifiedId)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCUnqualifiedClass)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCQualifiedId)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isObjCQualifiedClass)
+
+ typedef ObjCObjectPointerType::qual_iterator qual_iterator;
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(qual_iterator, qual_begin)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(qual_iterator, qual_end)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, qual_empty)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(unsigned, getNumProtocols)
+};
+
+template<>
struct CanProxyAdaptor<ObjCObjectPointerType>
: public CanProxyBase<ObjCObjectPointerType> {
LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getPointeeType)
Modified: vendor/clang/dist/include/clang/AST/Decl.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Decl.h Thu May 27 15:15:58 2010 (r208599)
+++ vendor/clang/dist/include/clang/AST/Decl.h Thu May 27 15:17:06 2010 (r208600)
@@ -55,7 +55,7 @@ public:
QualType getType() const { return Ty; }
/// \brief Return the TypeLoc wrapper for the type source info.
- TypeLoc getTypeLoc() const;
+ TypeLoc getTypeLoc() const; // implemented in TypeLoc.h
};
/// TranslationUnitDecl - The top declaration context.
@@ -138,6 +138,8 @@ public:
// FIXME: Deprecated, move clients to getName().
std::string getNameAsString() const { return Name.getAsString(); }
+ void printName(llvm::raw_ostream &os) const { return Name.printName(os); }
+
/// getDeclName - Get the actual, stored name of the declaration,
/// which may be a special name.
DeclarationName getDeclName() const { return Name; }
@@ -265,18 +267,25 @@ public:
// \brief Returns true if this is an anonymous namespace declaration.
//
// For example:
+ /// \code
// namespace {
// ...
// };
+ // \endcode
// q.v. C++ [namespace.unnamed]
bool isAnonymousNamespace() const {
return !getIdentifier();
}
+ /// \brief Return the next extended namespace declaration or null if this
+ /// is none.
NamespaceDecl *getNextNamespace() { return NextNamespace; }
const NamespaceDecl *getNextNamespace() const { return NextNamespace; }
+
+ /// \brief Set the next extended namespace declaration.
void setNextNamespace(NamespaceDecl *ND) { NextNamespace = ND; }
+ /// \brief Get the original (first) namespace declaration.
NamespaceDecl *getOriginalNamespace() const {
if (OrigOrAnonNamespace.getInt())
return const_cast<NamespaceDecl *>(this);
@@ -284,6 +293,14 @@ public:
return OrigOrAnonNamespace.getPointer();
}
+ /// \brief Return true if this declaration is an original (first) declaration
+ /// of the namespace. This is false for non-original (subsequent) namespace
+ /// declarations and anonymous namespaces.
+ bool isOriginalNamespace() const {
+ return getOriginalNamespace() == this;
+ }
+
+ /// \brief Set the original (first) namespace declaration.
void setOriginalNamespace(NamespaceDecl *ND) {
if (ND != this) {
OrigOrAnonNamespace.setPointer(ND);
@@ -502,6 +519,10 @@ private:
/// or an Objective-C @catch statement.
bool ExceptionVar : 1;
+ /// \brief Whether this local variable could be allocated in the return
+ /// slot of its function, enabling the named return value optimization (NRVO).
+ bool NRVOVariable : 1;
+
friend class StmtIteratorBase;
protected:
VarDecl(Kind DK, DeclContext *DC, SourceLocation L, IdentifierInfo *Id,
@@ -509,7 +530,7 @@ protected:
StorageClass SCAsWritten)
: DeclaratorDecl(DK, DC, L, Id, T, TInfo), Init(),
ThreadSpecified(false), HasCXXDirectInit(false),
- DeclaredInCondition(false), ExceptionVar(false) {
+ DeclaredInCondition(false), ExceptionVar(false), NRVOVariable(false) {
SClass = SC;
SClassAsWritten = SCAsWritten;
}
@@ -852,6 +873,19 @@ public:
}
void setExceptionVariable(bool EV) { ExceptionVar = EV; }
+ /// \brief Determine whether this local variable can be used with the named
+ /// return value optimization (NRVO).
+ ///
+ /// The named return value optimization (NRVO) works by marking certain
+ /// non-volatile local variables of class type as NRVO objects. These
+ /// locals can be allocated within the return slot of their containing
+ /// function, in which case there is no need to copy the object to the
+ /// return slot when returning from the function. Within the function body,
+ /// each return that returns the NRVO object will have this variable as its
+ /// NRVO candidate.
+ bool isNRVOVariable() const { return NRVOVariable; }
+ void setNRVOVariable(bool NRVO) { NRVOVariable = NRVO; }
+
/// \brief If this variable is an instantiated static data member of a
/// class template specialization, returns the templated static data member
/// from which it was instantiated.
@@ -1390,6 +1424,16 @@ public:
/// returns NULL.
const TemplateArgumentList *getTemplateSpecializationArgs() const;
+ /// \brief Retrieve the template argument list as written in the sources,
+ /// if any.
+ ///
+ /// If this function declaration is not a function template specialization
+ /// or if it had no explicit template argument list, returns NULL.
+ /// Note that it an explicit template argument list may be written empty,
+ /// e.g., template<> void foo<>(char* s);
+ const TemplateArgumentListInfo*
+ getTemplateSpecializationArgsAsWritten() const;
+
/// \brief Specify that this function declaration is actually a function
/// template specialization.
///
@@ -1409,7 +1453,8 @@ public:
void setFunctionTemplateSpecialization(FunctionTemplateDecl *Template,
const TemplateArgumentList *TemplateArgs,
void *InsertPos,
- TemplateSpecializationKind TSK = TSK_ImplicitInstantiation);
+ TemplateSpecializationKind TSK = TSK_ImplicitInstantiation,
+ const TemplateArgumentListInfo *TemplateArgsAsWritten = 0);
/// \brief Specifies that this function declaration is actually a
/// dependent function template specialization.
@@ -1593,7 +1638,19 @@ class TypedefDecl : public TypeDecl, pub
: TypeDecl(Typedef, DC, L, Id), TInfo(TInfo) {}
virtual ~TypedefDecl();
+
+protected:
+ typedef Redeclarable<TypedefDecl> redeclarable_base;
+ virtual TypedefDecl *getNextRedeclaration() { return RedeclLink.getNext(); }
+
public:
+ typedef redeclarable_base::redecl_iterator redecl_iterator;
+ redecl_iterator redecls_begin() const {
+ return redeclarable_base::redecls_begin();
+ }
+ redecl_iterator redecls_end() const {
+ return redeclarable_base::redecls_end();
+ }
static TypedefDecl *Create(ASTContext &C, DeclContext *DC,
SourceLocation L, IdentifierInfo *Id,
@@ -1631,11 +1688,7 @@ class TagDecl
: public TypeDecl, public DeclContext, public Redeclarable<TagDecl> {
public:
// This is really ugly.
- typedef ElaboratedType::TagKind TagKind;
- static const TagKind TK_struct = ElaboratedType::TK_struct;
- static const TagKind TK_union = ElaboratedType::TK_union;
- static const TagKind TK_class = ElaboratedType::TK_class;
- static const TagKind TK_enum = ElaboratedType::TK_enum;
+ typedef TagTypeKind TagKind;
private:
// FIXME: This can be packed into the bitfields in Decl.
@@ -1651,6 +1704,12 @@ private:
/// in the syntax of a declarator.
bool IsEmbeddedInDeclarator : 1;
+protected:
+ // These are used by (and only defined for) EnumDecl.
+ unsigned NumPositiveBits : 8;
+ unsigned NumNegativeBits : 8;
+
+private:
SourceLocation TagKeywordLoc;
SourceLocation RBraceLoc;
@@ -1680,7 +1739,8 @@ protected:
TagDecl *PrevDecl, SourceLocation TKL = SourceLocation())
: TypeDecl(DK, DC, L, Id), DeclContext(DK), TagKeywordLoc(TKL),
TypedefDeclOrQualifier((TypedefDecl*) 0) {
- assert((DK != Enum || TK == TK_enum) &&"EnumDecl not matched with TK_enum");
+ assert((DK != Enum || TK == TTK_Enum) &&
+ "EnumDecl not matched with TTK_Enum");
TagDeclKind = TK;
IsDefinition = false;
IsEmbeddedInDeclarator = false;
@@ -1753,30 +1813,26 @@ public:
void setDefinition(bool V) { IsDefinition = V; }
const char *getKindName() const {
- return ElaboratedType::getNameForTagKind(getTagKind());
+ return TypeWithKeyword::getTagTypeKindName(getTagKind());
}
- /// getTagKindForTypeSpec - Converts a type specifier (DeclSpec::TST)
- /// into a tag kind. It is an error to provide a type specifier
- /// which *isn't* a tag kind here.
- static TagKind getTagKindForTypeSpec(unsigned TypeSpec);
-
TagKind getTagKind() const {
return TagKind(TagDeclKind);
}
void setTagKind(TagKind TK) { TagDeclKind = TK; }
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list