svn commit: r199990 - in vendor/clang/dist: . clang.xcodeproj
include/clang/AST include/clang/Analysis
include/clang/Analysis/Analyses include/clang/Analysis/PathSensitive
include/clang/Analysis/Pa...
Roman Divacky
rdivacky at FreeBSD.org
Tue Dec 1 11:08:05 UTC 2009
Author: rdivacky
Date: Tue Dec 1 11:08:04 2009
New Revision: 199990
URL: http://svn.freebsd.org/changeset/base/199990
Log:
Update clang to r90226.
Added:
vendor/clang/dist/include/clang/Frontend/LangStandard.h
vendor/clang/dist/include/clang/Frontend/LangStandards.def
vendor/clang/dist/lib/Analysis/CallAndMessageChecker.cpp
vendor/clang/dist/lib/Analysis/Checker.cpp
vendor/clang/dist/lib/Analysis/UndefBranchChecker.cpp
vendor/clang/dist/lib/Analysis/UndefResultChecker.cpp
vendor/clang/dist/lib/CodeGen/CGClass.cpp
vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp
vendor/clang/dist/lib/CodeGen/CGTemporaries.cpp
vendor/clang/dist/lib/Frontend/LangStandards.cpp
vendor/clang/dist/test/CXX/basic/basic.link/p9.cpp
vendor/clang/dist/test/CXX/temp/temp.param/p9.cpp
vendor/clang/dist/test/CodeGenCXX/condition.cpp
vendor/clang/dist/test/CodeGenCXX/conditional-temporaries.cpp
vendor/clang/dist/test/CodeGenCXX/const-global-linkage.cpp
vendor/clang/dist/test/CodeGenCXX/copy-assign-synthesis-2.cpp
vendor/clang/dist/test/CodeGenCXX/eh.cpp
vendor/clang/dist/test/CodeGenCXX/mangle-template.cpp
vendor/clang/dist/test/CodeGenCXX/member-pointer-cast.cpp
vendor/clang/dist/test/CodeGenCXX/member-templates.cpp
vendor/clang/dist/test/CodeGenCXX/new-with-default-arg.cpp
vendor/clang/dist/test/CodeGenCXX/temp-order.cpp
vendor/clang/dist/test/CodeGenCXX/virt-dtor-key.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-base-destructor-call.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-bases.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-functions-incomplete-types.cpp
vendor/clang/dist/test/CodeGenObjC/sel-as-builtin-type.m
vendor/clang/dist/test/CodeGenObjC/undefined-protocol.m
vendor/clang/dist/test/FixIt/fixit-cxx0x.cpp
vendor/clang/dist/test/Frontend/output-failures.c
vendor/clang/dist/test/Index/c-index-api-fn-scan.m
vendor/clang/dist/test/Lexer/constants-ms.c
vendor/clang/dist/test/Parser/cxx-attributes.cpp
vendor/clang/dist/test/Parser/cxx0x-attributes.cpp
vendor/clang/dist/test/Parser/cxx0x-literal-operators.cpp
vendor/clang/dist/test/SemaCXX/alignof-sizeof-reference.cpp
vendor/clang/dist/test/SemaCXX/attr-cxx0x.cpp
vendor/clang/dist/test/SemaCXX/attr-sentinel.cpp
vendor/clang/dist/test/SemaCXX/member-pointers-2.cpp
vendor/clang/dist/test/SemaCXX/switch-0x.cpp
vendor/clang/dist/test/SemaTemplate/default-arguments-cxx0x.cpp
vendor/clang/dist/test/SemaTemplate/dependent-sized_array.cpp
vendor/clang/dist/test/SemaTemplate/overload-uneval.cpp
vendor/clang/dist/tools/scan-build/
vendor/clang/dist/tools/scan-build/ccc-analyzer (contents, props changed)
vendor/clang/dist/tools/scan-build/scan-build (contents, props changed)
vendor/clang/dist/tools/scan-build/scanview.css
vendor/clang/dist/tools/scan-build/sorttable.js
vendor/clang/dist/utils/C++Tests/LLVM-Code-Compile/
vendor/clang/dist/utils/C++Tests/LLVM-Code-Compile/lit.local.cfg
vendor/clang/dist/utils/C++Tests/LLVM-Code-Syntax/
vendor/clang/dist/utils/C++Tests/LLVM-Code-Syntax/lit.local.cfg
vendor/clang/dist/utils/analyzer/ubiviz (contents, props changed)
Deleted:
vendor/clang/dist/include/clang/Analysis/PathSensitive/Checkers/UndefinedAssignmentChecker.h
vendor/clang/dist/lib/Analysis/BadCallChecker.cpp
vendor/clang/dist/lib/Analysis/GRExprEngineInternalChecks.cpp
vendor/clang/dist/lib/Analysis/UndefinedArgChecker.cpp
vendor/clang/dist/lib/CodeGen/CGCXXClass.cpp
vendor/clang/dist/lib/CodeGen/CGCXXExpr.cpp
vendor/clang/dist/lib/CodeGen/CGCXXTemp.cpp
vendor/clang/dist/test/Analysis/region-only-test.c
vendor/clang/dist/test/CodeCompletion/property.m
vendor/clang/dist/test/CodeGen/builtins-ffs_parity_popcount.c
vendor/clang/dist/test/CodeGen/builtins-powi.c
vendor/clang/dist/test/CodeGenCXX/temp-1.cpp
vendor/clang/dist/test/CodeGenObjC/class-obj-hidden-visibility.m
vendor/clang/dist/test/CodeGenObjC/hidden-synthesized-ivar.m
vendor/clang/dist/test/CodeGenObjC/protocol-definition-hidden-visibility.m
vendor/clang/dist/test/Frontend/mmacosx-version-min-test.c
vendor/clang/dist/test/Index/c-index-api-test.m
vendor/clang/dist/test/Index/c-index-pch.h
vendor/clang/dist/test/Index/foo.h
vendor/clang/dist/test/Index/objc.h
vendor/clang/dist/test/Index/t1.c
vendor/clang/dist/test/Index/t1.m
vendor/clang/dist/test/Index/t2.c
vendor/clang/dist/test/Index/t2.m
vendor/clang/dist/test/Misc/diag-checker.c
vendor/clang/dist/test/Parser/cxx-parse-member-pointer-op.cpp
vendor/clang/dist/tools/wpa/
vendor/clang/dist/utils/ccc-analyzer
vendor/clang/dist/utils/scan-build
vendor/clang/dist/utils/scanview.css
vendor/clang/dist/utils/sorttable.js
vendor/clang/dist/utils/test/
vendor/clang/dist/utils/ubiviz
Modified:
vendor/clang/dist/Makefile
vendor/clang/dist/clang.xcodeproj/project.pbxproj
vendor/clang/dist/include/clang/AST/ASTContext.h
vendor/clang/dist/include/clang/AST/Attr.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/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/Redeclarable.h
vendor/clang/dist/include/clang/AST/Stmt.h
vendor/clang/dist/include/clang/AST/StmtCXX.h
vendor/clang/dist/include/clang/AST/StmtNodes.def
vendor/clang/dist/include/clang/AST/TemplateBase.h
vendor/clang/dist/include/clang/AST/Type.h
vendor/clang/dist/include/clang/Analysis/Analyses/LiveVariables.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/BugReporter.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/CheckerVisitor.def
vendor/clang/dist/include/clang/Analysis/PathSensitive/ExplodedGraph.h
vendor/clang/dist/include/clang/Analysis/PathSensitive/GRCoreEngine.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/MemRegion.h
vendor/clang/dist/include/clang/Analysis/PathSensitive/ValueManager.h
vendor/clang/dist/include/clang/Basic/BuiltinsX86.def
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/IdentifierTable.h
vendor/clang/dist/include/clang/Basic/LangOptions.h
vendor/clang/dist/include/clang/Basic/OnDiskHashTable.h
vendor/clang/dist/include/clang/Basic/TargetInfo.h
vendor/clang/dist/include/clang/Basic/TokenKinds.def
vendor/clang/dist/include/clang/CodeGen/CodeGenOptions.h
vendor/clang/dist/include/clang/Driver/ArgList.h
vendor/clang/dist/include/clang/Driver/CC1Options.h
vendor/clang/dist/include/clang/Driver/CC1Options.td
vendor/clang/dist/include/clang/Driver/Makefile
vendor/clang/dist/include/clang/Driver/OptParser.td
vendor/clang/dist/include/clang/Driver/OptSpecifier.h
vendor/clang/dist/include/clang/Driver/Options.h
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/CommandLineSourceLoc.h
vendor/clang/dist/include/clang/Frontend/CompilerInstance.h
vendor/clang/dist/include/clang/Frontend/CompilerInvocation.h
vendor/clang/dist/include/clang/Frontend/DeclXML.def
vendor/clang/dist/include/clang/Frontend/FrontendAction.h
vendor/clang/dist/include/clang/Frontend/FrontendOptions.h
vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h
vendor/clang/dist/include/clang/Frontend/PathDiagnosticClients.h
vendor/clang/dist/include/clang/Frontend/StmtXML.def
vendor/clang/dist/include/clang/Frontend/TextDiagnosticBuffer.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/AttributeList.h
vendor/clang/dist/include/clang/Parse/DeclSpec.h
vendor/clang/dist/include/clang/Parse/Parser.h
vendor/clang/dist/include/clang/Sema/CodeCompleteConsumer.h
vendor/clang/dist/lib/AST/ASTContext.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/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/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/StmtViz.cpp
vendor/clang/dist/lib/AST/TemplateBase.cpp
vendor/clang/dist/lib/AST/Type.cpp
vendor/clang/dist/lib/AST/TypePrinter.cpp
vendor/clang/dist/lib/Analysis/AnalysisContext.cpp
vendor/clang/dist/lib/Analysis/ArrayBoundChecker.cpp
vendor/clang/dist/lib/Analysis/AttrNonNullChecker.cpp
vendor/clang/dist/lib/Analysis/BasicConstraintManager.cpp
vendor/clang/dist/lib/Analysis/BasicObjCFoundationChecks.cpp
vendor/clang/dist/lib/Analysis/BasicObjCFoundationChecks.h
vendor/clang/dist/lib/Analysis/BasicStore.cpp
vendor/clang/dist/lib/Analysis/BugReporter.cpp
vendor/clang/dist/lib/Analysis/BugReporterVisitors.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/CallGraph.cpp
vendor/clang/dist/lib/Analysis/CallInliner.cpp
vendor/clang/dist/lib/Analysis/CastToStructChecker.cpp
vendor/clang/dist/lib/Analysis/CheckDeadStores.cpp
vendor/clang/dist/lib/Analysis/CheckObjCDealloc.cpp
vendor/clang/dist/lib/Analysis/CheckObjCInstMethSignature.cpp
vendor/clang/dist/lib/Analysis/CheckObjCUnusedIVars.cpp
vendor/clang/dist/lib/Analysis/CheckSecuritySyntaxOnly.cpp
vendor/clang/dist/lib/Analysis/CheckSizeofPointer.cpp
vendor/clang/dist/lib/Analysis/DereferenceChecker.cpp
vendor/clang/dist/lib/Analysis/DivZeroChecker.cpp
vendor/clang/dist/lib/Analysis/Environment.cpp
vendor/clang/dist/lib/Analysis/FixedAddressChecker.cpp
vendor/clang/dist/lib/Analysis/GRCoreEngine.cpp
vendor/clang/dist/lib/Analysis/GRExprEngine.cpp
vendor/clang/dist/lib/Analysis/GRExprEngineExperimentalChecks.cpp
vendor/clang/dist/lib/Analysis/GRExprEngineInternalChecks.h
vendor/clang/dist/lib/Analysis/GRState.cpp
vendor/clang/dist/lib/Analysis/LiveVariables.cpp
vendor/clang/dist/lib/Analysis/MallocChecker.cpp
vendor/clang/dist/lib/Analysis/MemRegion.cpp
vendor/clang/dist/lib/Analysis/NSAutoreleasePoolChecker.cpp
vendor/clang/dist/lib/Analysis/NSErrorChecker.cpp
vendor/clang/dist/lib/Analysis/PointerArithChecker.cpp
vendor/clang/dist/lib/Analysis/PointerSubChecker.cpp
vendor/clang/dist/lib/Analysis/PthreadLockChecker.cpp
vendor/clang/dist/lib/Analysis/RangeConstraintManager.cpp
vendor/clang/dist/lib/Analysis/RegionStore.cpp
vendor/clang/dist/lib/Analysis/ReturnPointerRangeChecker.cpp
vendor/clang/dist/lib/Analysis/ReturnStackAddressChecker.cpp
vendor/clang/dist/lib/Analysis/ReturnUndefChecker.cpp
vendor/clang/dist/lib/Analysis/SVals.cpp
vendor/clang/dist/lib/Analysis/SimpleSValuator.cpp
vendor/clang/dist/lib/Analysis/Store.cpp
vendor/clang/dist/lib/Analysis/UndefinedArraySubscriptChecker.cpp
vendor/clang/dist/lib/Analysis/UndefinedAssignmentChecker.cpp
vendor/clang/dist/lib/Analysis/UninitializedValues.cpp
vendor/clang/dist/lib/Analysis/VLASizeChecker.cpp
vendor/clang/dist/lib/Analysis/ValueManager.cpp
vendor/clang/dist/lib/Basic/TargetInfo.cpp
vendor/clang/dist/lib/Basic/Targets.cpp
vendor/clang/dist/lib/Basic/TokenKinds.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/CGDebugInfo.cpp
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/CGExprComplex.cpp
vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp
vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp
vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp
vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp
vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp
vendor/clang/dist/lib/CodeGen/CGRtti.cpp
vendor/clang/dist/lib/CodeGen/CGStmt.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/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/TargetABIInfo.cpp
vendor/clang/dist/lib/Driver/ArgList.cpp
vendor/clang/dist/lib/Driver/CC1Options.cpp
vendor/clang/dist/lib/Driver/Compilation.cpp
vendor/clang/dist/lib/Driver/Driver.cpp
vendor/clang/dist/lib/Driver/DriverOptions.cpp
vendor/clang/dist/lib/Driver/Tools.cpp
vendor/clang/dist/lib/Driver/Types.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/CMakeLists.txt
vendor/clang/dist/lib/Frontend/CacheTokens.cpp
vendor/clang/dist/lib/Frontend/CompilerInstance.cpp
vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
vendor/clang/dist/lib/Frontend/DependencyFile.cpp
vendor/clang/dist/lib/Frontend/DiagChecker.cpp
vendor/clang/dist/lib/Frontend/FrontendAction.cpp
vendor/clang/dist/lib/Frontend/FrontendActions.cpp
vendor/clang/dist/lib/Frontend/GeneratePCH.cpp
vendor/clang/dist/lib/Frontend/HTMLDiagnostics.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/PCHWriterStmt.cpp
vendor/clang/dist/lib/Frontend/PlistDiagnostics.cpp
vendor/clang/dist/lib/Frontend/PrintParserCallbacks.cpp
vendor/clang/dist/lib/Frontend/RewriteMacros.cpp
vendor/clang/dist/lib/Frontend/RewriteObjC.cpp
vendor/clang/dist/lib/Frontend/StmtXML.cpp
vendor/clang/dist/lib/Frontend/TextDiagnosticBuffer.cpp
vendor/clang/dist/lib/Frontend/VerifyDiagnosticsClient.cpp
vendor/clang/dist/lib/Headers/stdint.h
vendor/clang/dist/lib/Index/Analyzer.cpp
vendor/clang/dist/lib/Index/DeclReferenceMap.cpp
vendor/clang/dist/lib/Index/ResolveLocation.cpp
vendor/clang/dist/lib/Index/SelectorMap.cpp
vendor/clang/dist/lib/Lex/Lexer.cpp
vendor/clang/dist/lib/Lex/LiteralSupport.cpp
vendor/clang/dist/lib/Lex/PPDirectives.cpp
vendor/clang/dist/lib/Lex/PPLexerChange.cpp
vendor/clang/dist/lib/Lex/PTHLexer.cpp
vendor/clang/dist/lib/Parse/AttributeList.cpp
vendor/clang/dist/lib/Parse/MinimalAction.cpp
vendor/clang/dist/lib/Parse/ParseCXXInlineMethods.cpp
vendor/clang/dist/lib/Parse/ParseDecl.cpp
vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp
vendor/clang/dist/lib/Parse/ParseExpr.cpp
vendor/clang/dist/lib/Parse/ParseExprCXX.cpp
vendor/clang/dist/lib/Parse/ParseObjc.cpp
vendor/clang/dist/lib/Parse/ParseStmt.cpp
vendor/clang/dist/lib/Parse/ParseTemplate.cpp
vendor/clang/dist/lib/Parse/ParseTentative.cpp
vendor/clang/dist/lib/Parse/Parser.cpp
vendor/clang/dist/lib/Rewrite/HTMLRewrite.cpp
vendor/clang/dist/lib/Rewrite/TokenRewriter.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/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/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/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/MissingDealloc.m
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/concrete-address.c
vendor/clang/dist/test/Analysis/dead-stores.c
vendor/clang/dist/test/Analysis/fields.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/null-deref-ps.c
vendor/clang/dist/test/Analysis/plist-output.m
vendor/clang/dist/test/Analysis/rdar-6442306-1.m
vendor/clang/dist/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
vendor/clang/dist/test/Analysis/retain-release-gc-only.m
vendor/clang/dist/test/Analysis/retain-release.m
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/unused-ivars.m
vendor/clang/dist/test/CMakeLists.txt
vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.unqual/p15.cpp
vendor/clang/dist/test/CXX/dcl.decl/dcl.meaning/dcl.fct.default/p4.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.class.spec/temp.class.spec.mfunc/p1.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.class/temp.mem.func/p1.cpp
vendor/clang/dist/test/CXX/temp/temp.param/p2.cpp
vendor/clang/dist/test/CodeGen/2008-07-17-no-emit-on-error.c
vendor/clang/dist/test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c
vendor/clang/dist/test/CodeGen/2008-07-30-implicit-initialization.c
vendor/clang/dist/test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c
vendor/clang/dist/test/CodeGen/2008-08-04-void-pointer-arithmetic.c
vendor/clang/dist/test/CodeGen/2008-08-19-cast-of-typedef.c
vendor/clang/dist/test/CodeGen/PR2001-bitfield-reload.c
vendor/clang/dist/test/CodeGen/arm-arguments.c
vendor/clang/dist/test/CodeGen/const-init.c
vendor/clang/dist/test/CodeGen/debug-info.c
vendor/clang/dist/test/CodeGen/flexible-array-init.c
vendor/clang/dist/test/CodeGen/func-return-member.c
vendor/clang/dist/test/CodeGen/incomplete-function-type.c
vendor/clang/dist/test/CodeGen/rdr-6098585-default-after-caserange.c
vendor/clang/dist/test/CodeGen/rdr-6098585-default-fallthrough-to-caserange.c
vendor/clang/dist/test/CodeGen/rdr-6098585-empty-case-range.c
vendor/clang/dist/test/CodeGen/rdr-6098585-fallthrough-to-empty-range.c
vendor/clang/dist/test/CodeGen/rdr-6098585-unsigned-caserange.c
vendor/clang/dist/test/CodeGen/stack-protector.c
vendor/clang/dist/test/CodeGen/static-order.c
vendor/clang/dist/test/CodeGen/switch.c
vendor/clang/dist/test/CodeGen/vector.c
vendor/clang/dist/test/CodeGen/visibility.c
vendor/clang/dist/test/CodeGenCXX/const-init.cpp
vendor/clang/dist/test/CodeGenCXX/copy-constructor-synthesis.cpp
vendor/clang/dist/test/CodeGenCXX/default-arguments.cpp
vendor/clang/dist/test/CodeGenCXX/dyncast.cpp
vendor/clang/dist/test/CodeGenCXX/member-expressions.cpp
vendor/clang/dist/test/CodeGenCXX/member-function-pointers.cpp
vendor/clang/dist/test/CodeGenCXX/new.cpp
vendor/clang/dist/test/CodeGenCXX/references.cpp
vendor/clang/dist/test/CodeGenCXX/virt.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-base-cast.cpp
vendor/clang/dist/test/CodeGenCXX/x86_64-arguments.cpp
vendor/clang/dist/test/CodeGenObjC/constant-strings.m
vendor/clang/dist/test/CodeGenObjC/continuation-class.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.m
vendor/clang/dist/test/CodeGenObjC/hidden-visibility.m
vendor/clang/dist/test/CodeGenObjC/hidden.m
vendor/clang/dist/test/CodeGenObjC/messages-2.m
vendor/clang/dist/test/CodeGenObjC/messages.m
vendor/clang/dist/test/CodeGenObjC/metadata_symbols.m
vendor/clang/dist/test/CodeGenObjC/newproperty-nested-synthesis-1.m
vendor/clang/dist/test/CodeGenObjC/property-getter-dot-syntax.m
vendor/clang/dist/test/CodeGenObjC/property.m
vendor/clang/dist/test/CodeGenObjC/variadic-sends.m
vendor/clang/dist/test/Coverage/ast-printing.c
vendor/clang/dist/test/Coverage/ast-printing.cpp
vendor/clang/dist/test/Coverage/ast-printing.m
vendor/clang/dist/test/Coverage/parse-callbacks.c
vendor/clang/dist/test/Coverage/parse-callbacks.m
vendor/clang/dist/test/Driver/clang-translation.c
vendor/clang/dist/test/Driver/flags.c
vendor/clang/dist/test/Frontend/rewrite-macros.c
vendor/clang/dist/test/Index/c-index-api-loadTU-test.m
vendor/clang/dist/test/PCH/method_pool.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/PCH/reloc.c
vendor/clang/dist/test/Parser/MicrosoftExtensions.c
vendor/clang/dist/test/Parser/attributes.c
vendor/clang/dist/test/Parser/cxx-template-decl.cpp
vendor/clang/dist/test/Parser/cxx-using-declaration.cpp
vendor/clang/dist/test/Parser/if-scope-c90.c
vendor/clang/dist/test/Parser/if-scope-c99.c
vendor/clang/dist/test/Preprocessor/assembler-with-cpp.c
vendor/clang/dist/test/Preprocessor/cxx_true.cpp
vendor/clang/dist/test/Preprocessor/feature_tests.c
vendor/clang/dist/test/Preprocessor/init.c
vendor/clang/dist/test/Preprocessor/line-directive.c
vendor/clang/dist/test/Preprocessor/macro_paste_bcpl_comment.c
vendor/clang/dist/test/Preprocessor/stdint.c
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-string-concat-1.m
vendor/clang/dist/test/Rewriter/objc-synchronized-1.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/align-arm-apcs.c
vendor/clang/dist/test/Sema/altivec-init.c
vendor/clang/dist/test/Sema/carbon.c
vendor/clang/dist/test/Sema/cast.c
vendor/clang/dist/test/Sema/exprs.c
vendor/clang/dist/test/Sema/switch.c
vendor/clang/dist/test/Sema/wchar.c
vendor/clang/dist/test/SemaCXX/class-layout.cpp
vendor/clang/dist/test/SemaCXX/class.cpp
vendor/clang/dist/test/SemaCXX/condition.cpp
vendor/clang/dist/test/SemaCXX/converting-constructor.cpp
vendor/clang/dist/test/SemaCXX/implicit-int.cpp
vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp
vendor/clang/dist/test/SemaCXX/new-delete.cpp
vendor/clang/dist/test/SemaCXX/pseudo-destructors.cpp
vendor/clang/dist/test/SemaCXX/qual-id-test.cpp
vendor/clang/dist/test/SemaCXX/reinterpret-cast.cpp
vendor/clang/dist/test/SemaCXX/switch.cpp
vendor/clang/dist/test/SemaCXX/typedef-redecl.cpp
vendor/clang/dist/test/SemaCXX/using-directive.cpp
vendor/clang/dist/test/SemaObjC/cocoa.m
vendor/clang/dist/test/SemaObjC/foreach.m
vendor/clang/dist/test/SemaObjC/ivar-ref-misuse.m
vendor/clang/dist/test/SemaTemplate/current-instantiation.cpp
vendor/clang/dist/test/SemaTemplate/dependent-names.cpp
vendor/clang/dist/test/SemaTemplate/destructor-template.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-function-1.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-member-template.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-method.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-static-var.cpp
vendor/clang/dist/test/SemaTemplate/instantiation-depth.cpp
vendor/clang/dist/test/SemaTemplate/nested-name-spec-template.cpp
vendor/clang/dist/test/SemaTemplate/qualified-id.cpp
vendor/clang/dist/test/SemaTemplate/temp_arg_nontype.cpp
vendor/clang/dist/test/SemaTemplate/temp_explicit.cpp
vendor/clang/dist/tools/CIndex/CIndex.cpp
vendor/clang/dist/tools/CMakeLists.txt
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/clang-cc/CMakeLists.txt
vendor/clang/dist/tools/clang-cc/Makefile
vendor/clang/dist/tools/clang-cc/Options.cpp
vendor/clang/dist/tools/clang-cc/Options.h
vendor/clang/dist/tools/clang-cc/clang-cc.cpp
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/utils/C++Tests/Clang-Code-Compile/lit.local.cfg
vendor/clang/dist/utils/C++Tests/Clang-Syntax/lit.local.cfg
vendor/clang/dist/utils/C++Tests/LLVM-Syntax/lit.local.cfg
vendor/clang/dist/utils/C++Tests/lit.cfg
vendor/clang/dist/www/analyzer/installation.html
vendor/clang/dist/www/analyzer/latest_checker.html.incl
vendor/clang/dist/www/cxx_status.html
Modified: vendor/clang/dist/Makefile
==============================================================================
--- vendor/clang/dist/Makefile Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/Makefile Tue Dec 1 11:08:04 2009 (r199990)
@@ -45,7 +45,7 @@ install-local::
for hdr in `find . -type f '!' '(' -name '*~' \
-o -name '.#*' -o -name '*.in' -o -name '*.txt' \
-o -name 'Makefile' -o -name '*.td' ')' -print \
- | grep -v CVS | grep -v .svn` ; do \
+ | grep -v CVS | grep -v .svn | grep -v .dir` ; do \
instdir=`dirname "$(PROJ_includedir)/$$hdr"` ; \
if test \! -d "$$instdir" ; then \
$(EchoCmd) Making install directory $$instdir ; \
@@ -58,7 +58,7 @@ ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT)
$(Verb) if test -d "$(PROJ_OBJ_ROOT)/tools/clang/include" ; then \
cd $(PROJ_OBJ_ROOT)/tools/clang/include && \
for hdr in `find . -type f '!' '(' -name 'Makefile' ')' -print \
- | grep -v CVS | grep -v .tmp` ; do \
+ | grep -v CVS | grep -v .tmp | grep -v .dir` ; do \
$(DataInstall) $$hdr $(PROJ_includedir)/$$hdr ; \
done ; \
fi
Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj
==============================================================================
--- vendor/clang/dist/clang.xcodeproj/project.pbxproj Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/clang.xcodeproj/project.pbxproj Tue Dec 1 11:08:04 2009 (r199990)
@@ -31,14 +31,14 @@
1A32C17F0E1C87AD00A6B483 /* ExprConstant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A32C17E0E1C87AD00A6B483 /* ExprConstant.cpp */; };
1A376A2D0D4AED9B002A1C52 /* CGExprConstant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A376A2C0D4AED9B002A1C52 /* CGExprConstant.cpp */; };
1A471AB50F437BC500753CE8 /* CGBlocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A471AB40F437BC500753CE8 /* CGBlocks.cpp */; };
- 1A4C41BF105B4C0B0047B5E7 /* CGCXXClass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A4C41BE105B4C0B0047B5E7 /* CGCXXClass.cpp */; };
+ 1A4C41BF105B4C0B0047B5E7 /* CGClass.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A4C41BE105B4C0B0047B5E7 /* CGClass.cpp */; };
1A535ED9107BC45E000C3AE7 /* CXXInheritance.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A535ED8107BC45E000C3AE7 /* CXXInheritance.cpp */; };
1A5D5E580E5E81010023C059 /* CGCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A5D5E570E5E81010023C059 /* CGCXX.cpp */; };
1A6B6CD410693FC900BB4A8F /* CodeCompleteConsumer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6CD110693FC900BB4A8F /* CodeCompleteConsumer.cpp */; };
1A6B6CD510693FC900BB4A8F /* SemaCodeComplete.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6CD210693FC900BB4A8F /* SemaCodeComplete.cpp */; };
- 1A6B6E9A1069833600BB4A8F /* CGCXXExpr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6E991069833600BB4A8F /* CGCXXExpr.cpp */; };
+ 1A6B6E9A1069833600BB4A8F /* CGExprCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6B6E991069833600BB4A8F /* CGExprCXX.cpp */; };
1A6C01F7108128710072DEE4 /* CGRtti.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6C01F6108128710072DEE4 /* CGRtti.cpp */; };
- 1A6FE7090FD6F85800E00CA9 /* CGCXXTemp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6FE7080FD6F85800E00CA9 /* CGCXXTemp.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 */; };
@@ -369,7 +369,7 @@
1A32C17E0E1C87AD00A6B483 /* ExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ExprConstant.cpp; path = lib/AST/ExprConstant.cpp; sourceTree = "<group>"; tabWidth = 2; };
1A376A2C0D4AED9B002A1C52 /* CGExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGExprConstant.cpp; path = lib/CodeGen/CGExprConstant.cpp; sourceTree = "<group>"; tabWidth = 2; };
1A471AB40F437BC500753CE8 /* CGBlocks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGBlocks.cpp; path = lib/CodeGen/CGBlocks.cpp; sourceTree = "<group>"; tabWidth = 2; };
- 1A4C41BE105B4C0B0047B5E7 /* CGCXXClass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGCXXClass.cpp; path = lib/CodeGen/CGCXXClass.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A4C41BE105B4C0B0047B5E7 /* CGClass.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGClass.cpp; path = lib/CodeGen/CGClass.cpp; sourceTree = "<group>"; tabWidth = 2; };
1A535ED8107BC45E000C3AE7 /* CXXInheritance.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CXXInheritance.cpp; path = lib/AST/CXXInheritance.cpp; sourceTree = "<group>"; };
1A535EDB107BC47B000C3AE7 /* CanonicalType.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CanonicalType.h; path = clang/AST/CanonicalType.h; sourceTree = "<group>"; };
1A5D5E570E5E81010023C059 /* CGCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGCXX.cpp; path = lib/CodeGen/CGCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
@@ -378,9 +378,9 @@
1A6B6CD110693FC900BB4A8F /* CodeCompleteConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CodeCompleteConsumer.cpp; path = lib/Sema/CodeCompleteConsumer.cpp; sourceTree = "<group>"; tabWidth = 2; };
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 /* CGCXXExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGCXXExpr.cpp; path = lib/CodeGen/CGCXXExpr.cpp; 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; };
- 1A6FE7080FD6F85800E00CA9 /* CGCXXTemp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGCXXTemp.cpp; path = lib/CodeGen/CGCXXTemp.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>"; };
1A7019EB0F79BC1100FEC4D1 /* DiagnosticCommonKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticCommonKinds.td; sourceTree = "<group>"; };
@@ -1265,11 +1265,10 @@
1ABC36930C7A4BDC006DB0AB /* CGBuiltin.cpp */,
35475B1F0E79973F0000BFE4 /* CGCall.cpp */,
35475B220E7997680000BFE4 /* CGCall.h */,
+ 1A4C41BE105B4C0B0047B5E7 /* CGClass.cpp */,
1A5D5E570E5E81010023C059 /* CGCXX.cpp */,
1A649E1E0F9599DA005B965E /* CGCXX.h */,
- 1A4C41BE105B4C0B0047B5E7 /* CGCXXClass.cpp */,
- 1A6B6E991069833600BB4A8F /* CGCXXExpr.cpp */,
- 1A6FE7080FD6F85800E00CA9 /* CGCXXTemp.cpp */,
+ 1A6B6E991069833600BB4A8F /* CGExprCXX.cpp */,
35A3E7000DD3874400757F74 /* CGDebugInfo.cpp */,
35A3E7010DD3874400757F74 /* CGDebugInfo.h */,
DE4264FB0C113592005A861D /* CGDecl.cpp */,
@@ -1287,6 +1286,7 @@
1AFF8AE21012BFC900D248DA /* CGRecordLayoutBuilder.h */,
1A6C01F6108128710072DEE4 /* CGRtti.cpp */,
DE4772F90C10EAE5002239E8 /* CGStmt.cpp */,
+ 1A6FE7080FD6F85800E00CA9 /* CGTemporaries.cpp */,
35475B230E7997680000BFE4 /* CGValue.h */,
1A81AA18108144F40094E50B /* CGVtable.cpp */,
1A81AA5D108278A20094E50B /* CGVtable.h */,
@@ -1899,7 +1899,7 @@
1A2A54C30FD1DD1C00F4CE45 /* RewriteTest.cpp in Sources */,
1A2A54C40FD1DD1C00F4CE45 /* StmtXML.cpp in Sources */,
1A2A54C50FD1DD1C00F4CE45 /* Warnings.cpp in Sources */,
- 1A6FE7090FD6F85800E00CA9 /* CGCXXTemp.cpp in Sources */,
+ 1A6FE7090FD6F85800E00CA9 /* CGTemporaries.cpp in Sources */,
BDF87CF70FD746F300BBF872 /* SemaTemplateDeduction.cpp in Sources */,
1A14D3A70FD78A3F00DA2835 /* DeclPrinter.cpp in Sources */,
DE37252E0FE481AD00CF2CC2 /* Builtins.cpp in Sources */,
@@ -1922,10 +1922,10 @@
9012911D1048068D0083456D /* ASTUnit.cpp in Sources */,
90129121104812F90083456D /* CIndex.cpp in Sources */,
90F9EFAA104ABDED00D09A15 /* c-index-test.c in Sources */,
- 1A4C41BF105B4C0B0047B5E7 /* CGCXXClass.cpp in Sources */,
+ 1A4C41BF105B4C0B0047B5E7 /* CGClass.cpp in Sources */,
1A6B6CD410693FC900BB4A8F /* CodeCompleteConsumer.cpp in Sources */,
1A6B6CD510693FC900BB4A8F /* SemaCodeComplete.cpp in Sources */,
- 1A6B6E9A1069833600BB4A8F /* CGCXXExpr.cpp in Sources */,
+ 1A6B6E9A1069833600BB4A8F /* CGExprCXX.cpp in Sources */,
1A535ED9107BC45E000C3AE7 /* CXXInheritance.cpp in Sources */,
1A6C01F7108128710072DEE4 /* CGRtti.cpp in Sources */,
1A81AA19108144F40094E50B /* CGVtable.cpp in Sources */,
Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTContext.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/ASTContext.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -120,8 +120,7 @@ class ASTContext {
QualType ObjCIdTypedefType;
/// ObjCSelType - another pseudo built-in typedef type (set by Sema).
- QualType ObjCSelType;
- const RecordType *SelStructType;
+ QualType ObjCSelTypedefType;
/// ObjCProtoType - another pseudo built-in typedef type (set by Sema).
QualType ObjCProtoType;
@@ -244,6 +243,7 @@ public:
// pseudo-builtins
QualType ObjCIdRedefinitionType;
QualType ObjCClassRedefinitionType;
+ QualType ObjCSelRedefinitionType;
/// \brief Source ranges for all of the comments in the source file,
/// sorted in order of appearance in the translation unit.
@@ -316,7 +316,7 @@ public:
CanQualType OverloadTy;
CanQualType DependentTy;
CanQualType UndeducedAutoTy;
- CanQualType ObjCBuiltinIdTy, ObjCBuiltinClassTy;
+ CanQualType ObjCBuiltinIdTy, ObjCBuiltinClassTy, ObjCBuiltinSelTy;
ASTContext(const LangOptions& LOpts, SourceManager &SM, const TargetInfo &t,
IdentifierTable &idents, SelectorTable &sels,
@@ -532,8 +532,7 @@ public:
QualType Canon = QualType());
QualType getTemplateSpecializationType(TemplateName T,
- const TemplateArgumentLoc *Args,
- unsigned NumArgs,
+ const TemplateArgumentListInfo &Args,
QualType Canon = QualType());
QualType getQualifiedNameType(NestedNameSpecifier *NNS,
@@ -696,7 +695,7 @@ public:
void setObjCIdType(QualType T);
void setObjCSelType(QualType T);
- QualType getObjCSelType() const { return ObjCSelType; }
+ QualType getObjCSelType() const { return ObjCSelTypedefType; }
void setObjCProtoType(QualType QT);
QualType getObjCProtoType() const { return ObjCProtoType; }
@@ -734,6 +733,8 @@ public:
return getExtQualType(T, Qs);
}
+ DeclarationName getNameForTemplate(TemplateName Name);
+
TemplateName getQualifiedTemplateName(NestedNameSpecifier *NNS,
bool TemplateKeyword,
TemplateDecl *Template);
@@ -796,6 +797,20 @@ public:
return getTypeInfo(T).first;
}
+ /// getByteWidth - Return the size of a byte, in bits
+ uint64_t getByteSize() {
+ return getTypeSize(CharTy);
+ }
+
+ /// getTypeSizeInBytes - Return the size of the specified type, in bytes.
+ /// This method does not work on incomplete types.
+ uint64_t getTypeSizeInBytes(QualType T) {
+ return getTypeSize(T) / getByteSize();
+ }
+ uint64_t getTypeSizeInBytes(const Type *T) {
+ return getTypeSize(T) / getByteSize();
+ }
+
/// getTypeAlign - Return the ABI-specified alignment of a type, in bits.
/// This method does not work on incomplete types.
unsigned getTypeAlign(QualType T) {
@@ -811,10 +826,7 @@ public:
/// a data type.
unsigned getPreferredTypeAlign(const Type *T);
- /// getDeclAlignInBytes - Return the alignment of the specified decl
- /// that should be returned by __alignof(). Note that bitfields do
- /// not have a valid alignment, so this method will assert on them.
- unsigned getDeclAlignInBytes(const Decl *D);
+ unsigned getDeclAlignInBytes(const Decl *D, bool RefAsPointee = false);
/// getASTRecordLayout - Get or compute information about the layout of the
/// specified record (struct/union/class), which indicates its size and field
@@ -1023,8 +1035,7 @@ public:
return T == ObjCClassTypedefType;
}
bool isObjCSelType(QualType T) const {
- assert(SelStructType && "isObjCSelType used before 'SEL' type is built");
- return T->getAsStructureType() == SelStructType;
+ return T == ObjCSelTypedefType;
}
bool QualifiedIdConformsQualifiedId(QualType LHS, QualType RHS);
bool ObjCQualifiedIdTypesAreCompatible(QualType LHS, QualType RHS,
Modified: vendor/clang/dist/include/clang/AST/Attr.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Attr.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/Attr.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -15,12 +15,12 @@
#define LLVM_CLANG_AST_ATTR_H
#include "llvm/Support/Casting.h"
-using llvm::dyn_cast;
-
+#include "llvm/ADT/StringRef.h"
#include <cassert>
#include <cstring>
#include <string>
#include <algorithm>
+using llvm::dyn_cast;
namespace clang {
class ASTContext;
@@ -49,6 +49,7 @@ public:
AnalyzerNoReturn, // Clang-specific.
Annotate,
AsmLabel, // Represent GCC asm label extension.
+ BaseCheck,
Blocks,
CDecl,
Cleanup,
@@ -59,9 +60,11 @@ public:
Deprecated,
Destructor,
FastCall,
+ Final,
Format,
FormatArg,
GNUInline,
+ Hiding,
IBOutletKind, // Clang-specific. Use "Kind" suffix to not conflict with
Malloc,
NoDebug,
@@ -71,6 +74,7 @@ public:
NoThrow,
ObjCException,
ObjCNSObject,
+ Override,
CFReturnsRetained, // Clang/Checker-specific.
NSReturnsRetained, // Clang/Checker-specific.
Overloadable, // Clang-specific
@@ -184,12 +188,24 @@ public:
class AlignedAttr : public Attr {
unsigned Alignment;
public:
- AlignedAttr(unsigned alignment) : Attr(Aligned), Alignment(alignment) {}
+ AlignedAttr(unsigned alignment)
+ : Attr(Aligned), Alignment(alignment) {}
/// getAlignment - The specified alignment in bits.
unsigned getAlignment() const { return Alignment; }
+
+ /// getMaxAlignment - Get the maximum alignment of attributes on this list.
+ unsigned getMaxAlignment() const {
+ const AlignedAttr *Next = getNext<AlignedAttr>();
+ if (Next)
+ return std::max(Next->getMaxAlignment(), Alignment);
+ else
+ return Alignment;
+ }
- virtual Attr* clone(ASTContext &C) const { return ::new (C) AlignedAttr(Alignment); }
+ virtual Attr* clone(ASTContext &C) const {
+ return ::new (C) AlignedAttr(Alignment);
+ }
// Implement isa/cast/dyncast/etc.
static bool classof(const Attr *A) {
@@ -201,7 +217,7 @@ public:
class AnnotateAttr : public Attr {
std::string Annotation;
public:
- AnnotateAttr(const std::string &ann) : Attr(Annotate), Annotation(ann) {}
+ AnnotateAttr(llvm::StringRef ann) : Attr(Annotate), Annotation(ann) {}
const std::string& getAnnotation() const { return Annotation; }
@@ -217,7 +233,7 @@ public:
class AsmLabelAttr : public Attr {
std::string Label;
public:
- AsmLabelAttr(const std::string &L) : Attr(AsmLabel), Label(L) {}
+ AsmLabelAttr(llvm::StringRef L) : Attr(AsmLabel), Label(L) {}
const std::string& getLabel() const { return Label; }
@@ -235,7 +251,7 @@ DEF_SIMPLE_ATTR(AlwaysInline);
class AliasAttr : public Attr {
std::string Aliasee;
public:
- AliasAttr(const std::string &aliasee) : Attr(Alias), Aliasee(aliasee) {}
+ AliasAttr(llvm::StringRef aliasee) : Attr(Alias), Aliasee(aliasee) {}
const std::string& getAliasee() const { return Aliasee; }
@@ -304,11 +320,12 @@ DEF_SIMPLE_ATTR(Malloc);
DEF_SIMPLE_ATTR(NoReturn);
DEF_SIMPLE_ATTR(AnalyzerNoReturn);
DEF_SIMPLE_ATTR(Deprecated);
+DEF_SIMPLE_ATTR(Final);
class SectionAttr : public Attr {
std::string Name;
public:
- SectionAttr(const std::string &N) : Attr(Section), Name(N) {}
+ SectionAttr(llvm::StringRef N) : Attr(Section), Name(N) {}
const std::string& getName() const { return Name; }
@@ -367,11 +384,11 @@ class FormatAttr : public Attr {
std::string Type;
int formatIdx, firstArg;
public:
- FormatAttr(const std::string &type, int idx, int first) : Attr(Format),
+ FormatAttr(llvm::StringRef type, int idx, int first) : Attr(Format),
Type(type), formatIdx(idx), firstArg(first) {}
const std::string& getType() const { return Type; }
- void setType(const std::string &type) { Type = type; }
+ void setType(llvm::StringRef type) { Type = type; }
int getFormatIdx() const { return formatIdx; }
int getFirstArg() const { return firstArg; }
@@ -544,6 +561,11 @@ public:
DEF_SIMPLE_ATTR(CFReturnsRetained);
DEF_SIMPLE_ATTR(NSReturnsRetained);
+// C++0x member checking attributes.
+DEF_SIMPLE_ATTR(BaseCheck);
+DEF_SIMPLE_ATTR(Hiding);
+DEF_SIMPLE_ATTR(Override);
+
#undef DEF_SIMPLE_ATTR
} // end namespace clang
Modified: vendor/clang/dist/include/clang/AST/Decl.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Decl.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/Decl.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -54,6 +54,32 @@ public:
TypeLoc getTypeLoc() const;
};
+/// UnresolvedSet - A set of unresolved declarations. This is needed
+/// in a lot of places, but isn't really worth breaking into its own
+/// header right now.
+class UnresolvedSet {
+ typedef llvm::SmallVector<NamedDecl*, 4> DeclsTy;
+ DeclsTy Decls;
+
+public:
+ void addDecl(NamedDecl *D) {
+ Decls.push_back(D);
+ }
+
+ bool replace(const NamedDecl* Old, NamedDecl *New) {
+ for (DeclsTy::iterator I = Decls.begin(), E = Decls.end(); I != E; ++I)
+ if (*I == Old)
+ return (*I = New, true);
+ return false;
+ }
+
+ unsigned size() const { return Decls.size(); }
+
+ typedef DeclsTy::const_iterator iterator;
+ iterator begin() const { return Decls.begin(); }
+ iterator end() const { return Decls.end(); }
+};
+
/// TranslationUnitDecl - The top declaration context.
class TranslationUnitDecl : public Decl, public DeclContext {
ASTContext &Ctx;
@@ -172,6 +198,26 @@ public:
/// \brief Determine whether this declaration has linkage.
bool hasLinkage() const;
+ /// \brief Describes the different kinds of linkage
+ /// (C++ [basic.link], C99 6.2.2) that an entity may have.
+ enum Linkage {
+ /// \brief No linkage, which means that the entity is unique and
+ /// can only be referred to from within its scope.
+ NoLinkage = 0,
+
+ /// \brief Internal linkage, which indicates that the entity can
+ /// be referred to from within the translation unit (but not other
+ /// translation units).
+ InternalLinkage,
+
+ /// \brief External linkage, which indicates that the entity can
+ /// be referred to from other translation units.
+ ExternalLinkage
+ };
+
+ /// \brief Determine what kind of linkage this entity has.
+ Linkage getLinkage() const;
+
/// \brief Looks through UsingDecls and ObjCCompatibleAliasDecls for
/// the underlying named decl.
NamedDecl *getUnderlyingDecl();
Modified: vendor/clang/dist/include/clang/AST/DeclBase.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/DeclBase.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/DeclBase.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -503,12 +503,12 @@ private:
/// PrettyStackTraceDecl - If a crash occurs, indicate that it happened when
/// doing something to a specific decl.
class PrettyStackTraceDecl : public llvm::PrettyStackTraceEntry {
- Decl *TheDecl;
+ const Decl *TheDecl;
SourceLocation Loc;
SourceManager &SM;
const char *Message;
public:
- PrettyStackTraceDecl(Decl *theDecl, SourceLocation L,
+ PrettyStackTraceDecl(const Decl *theDecl, SourceLocation L,
SourceManager &sm, const char *Msg)
: TheDecl(theDecl), Loc(L), SM(sm), Message(Msg) {}
Modified: vendor/clang/dist/include/clang/AST/DeclCXX.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/DeclCXX.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/DeclCXX.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -376,13 +376,13 @@ class CXXRecordDecl : public RecordDecl
/// of this C++ class (but not its inherited conversion
/// functions). Each of the entries in this overload set is a
/// CXXConversionDecl.
- OverloadedFunctionDecl Conversions;
+ UnresolvedSet Conversions;
/// VisibleConversions - Overload set containing the conversion functions
/// of this C++ class and all those inherited conversion functions that
/// are visible in this class. Each of the entries in this overload set is
/// a CXXConversionDecl or a FunctionTemplateDecl.
- OverloadedFunctionDecl VisibleConversions;
+ UnresolvedSet VisibleConversions;
/// \brief The template or declaration that this declaration
/// describes or was instantiated from, respectively.
@@ -400,7 +400,7 @@ class CXXRecordDecl : public RecordDecl
const llvm::SmallPtrSet<CanQualType, 8> &TopConversionsTypeSet,
const llvm::SmallPtrSet<CanQualType, 8> &HiddenConversionTypes);
void collectConversionFunctions(
- llvm::SmallPtrSet<CanQualType, 8>& ConversionsTypeSet);
+ llvm::SmallPtrSet<CanQualType, 8>& ConversionsTypeSet) const;
protected:
CXXRecordDecl(Kind K, TagKind TK, DeclContext *DC,
@@ -581,22 +581,34 @@ public:
/// getConversions - Retrieve the overload set containing all of the
/// conversion functions in this class.
- OverloadedFunctionDecl *getConversionFunctions() {
+ UnresolvedSet *getConversionFunctions() {
assert((this->isDefinition() ||
cast<RecordType>(getTypeForDecl())->isBeingDefined()) &&
"getConversionFunctions() called on incomplete type");
return &Conversions;
}
- const OverloadedFunctionDecl *getConversionFunctions() const {
+ const UnresolvedSet *getConversionFunctions() const {
assert((this->isDefinition() ||
cast<RecordType>(getTypeForDecl())->isBeingDefined()) &&
"getConversionFunctions() called on incomplete type");
return &Conversions;
}
+ typedef UnresolvedSet::iterator conversion_iterator;
+ conversion_iterator conversion_begin() const { return Conversions.begin(); }
+ conversion_iterator conversion_end() const { return Conversions.end(); }
+
+ /// Replaces a conversion function with a new declaration.
+ ///
+ /// Returns true if the old conversion was found.
+ bool replaceConversion(const NamedDecl* Old, NamedDecl *New) {
+ return Conversions.replace(Old, New);
+ }
+
/// getVisibleConversionFunctions - get all conversion functions visible
/// in current class; including conversion function templates.
- OverloadedFunctionDecl *getVisibleConversionFunctions();
+ const UnresolvedSet *getVisibleConversionFunctions();
+
/// addVisibleConversionFunction - Add a new conversion function to the
/// list of visible conversion functions.
void addVisibleConversionFunction(CXXConversionDecl *ConvDecl);
@@ -1502,9 +1514,9 @@ class UsingDirectiveDecl : public NamedD
SourceLocation IdentLoc;
/// NominatedNamespace - Namespace nominated by using-directive.
- NamespaceDecl *NominatedNamespace;
+ NamedDecl *NominatedNamespace;
- /// Enclosing context containing both using-directive and nomintated
+ /// Enclosing context containing both using-directive and nominated
/// namespace.
DeclContext *CommonAncestor;
@@ -1520,12 +1532,12 @@ class UsingDirectiveDecl : public NamedD
SourceRange QualifierRange,
NestedNameSpecifier *Qualifier,
SourceLocation IdentLoc,
- NamespaceDecl *Nominated,
+ NamedDecl *Nominated,
DeclContext *CommonAncestor)
: NamedDecl(Decl::UsingDirective, DC, L, getName()),
NamespaceLoc(NamespcLoc), QualifierRange(QualifierRange),
Qualifier(Qualifier), IdentLoc(IdentLoc),
- NominatedNamespace(Nominated? Nominated->getOriginalNamespace() : 0),
+ NominatedNamespace(Nominated),
CommonAncestor(CommonAncestor) {
}
@@ -1538,8 +1550,13 @@ public:
/// name of the namespace.
NestedNameSpecifier *getQualifier() const { return Qualifier; }
+ NamedDecl *getNominatedNamespaceAsWritten() { return NominatedNamespace; }
+ const NamedDecl *getNominatedNamespaceAsWritten() const {
+ return NominatedNamespace;
+ }
+
/// getNominatedNamespace - Returns namespace nominated by using-directive.
- NamespaceDecl *getNominatedNamespace() { return NominatedNamespace; }
+ NamespaceDecl *getNominatedNamespace();
const NamespaceDecl *getNominatedNamespace() const {
return const_cast<UsingDirectiveDecl*>(this)->getNominatedNamespace();
@@ -1562,7 +1579,7 @@ public:
SourceRange QualifierRange,
NestedNameSpecifier *Qualifier,
SourceLocation IdentLoc,
- NamespaceDecl *Nominated,
+ NamedDecl *Nominated,
DeclContext *CommonAncestor);
static bool classof(const Decl *D) {
Modified: vendor/clang/dist/include/clang/AST/DeclTemplate.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/DeclTemplate.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/DeclTemplate.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -955,8 +955,7 @@ public:
TemplateParameterList *Params,
ClassTemplateDecl *SpecializedTemplate,
TemplateArgumentListBuilder &Builder,
- TemplateArgumentLoc *ArgInfos,
- unsigned NumArgInfos,
+ const TemplateArgumentListInfo &ArgInfos,
ClassTemplatePartialSpecializationDecl *PrevDecl);
/// Get the list of template parameters
Modified: vendor/clang/dist/include/clang/AST/DeclarationName.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/DeclarationName.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/DeclarationName.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -25,6 +25,7 @@ namespace llvm {
namespace clang {
class CXXSpecialName;
class CXXOperatorIdName;
+ class CXXLiteralOperatorIdName;
class DeclarationNameExtra;
class IdentifierInfo;
class MultiKeywordSelector;
@@ -48,6 +49,7 @@ public:
CXXDestructorName,
CXXConversionFunctionName,
CXXOperatorName,
+ CXXLiteralOperatorName,
CXXUsingDirective
};
@@ -115,6 +117,12 @@ private:
return 0;
}
+ CXXLiteralOperatorIdName *getAsCXXLiteralOperatorIdName() const {
+ if (getNameKind() == CXXLiteralOperatorName)
+ return reinterpret_cast<CXXLiteralOperatorIdName *>(Ptr & ~PtrMask);
+ return 0;
+ }
+
// Construct a declaration name from the name of a C++ constructor,
// destructor, or conversion function.
DeclarationName(CXXSpecialName *Name)
@@ -131,6 +139,12 @@ private:
Ptr |= StoredDeclarationNameExtra;
}
+ DeclarationName(CXXLiteralOperatorIdName *Name)
+ : Ptr(reinterpret_cast<uintptr_t>(Name)) {
+ assert((Ptr & PtrMask) == 0 && "Improperly aligned CXXLiteralOperatorId");
+ Ptr |= StoredDeclarationNameExtra;
+ }
+
/// Construct a declaration name from a raw pointer.
DeclarationName(uintptr_t Ptr) : Ptr(Ptr) { }
@@ -201,7 +215,7 @@ public:
N.Ptr = reinterpret_cast<uintptr_t> (P);
return N;
}
-
+
static DeclarationName getFromOpaqueInteger(uintptr_t P) {
DeclarationName N;
N.Ptr = P;
@@ -218,6 +232,10 @@ public:
/// kind of overloaded operator.
OverloadedOperatorKind getCXXOverloadedOperator() const;
+ /// getCXXLiteralIdentifier - If this name is the name of a literal
+ /// operator, retrieve the identifier associated with it.
+ IdentifierInfo *getCXXLiteralIdentifier() const;
+
/// getObjCSelector - Get the Objective-C selector stored in this
/// declaration name.
Selector getObjCSelector() const;
@@ -293,7 +311,7 @@ public:
/// getIdentifier - Create a declaration name that is a simple
/// identifier.
- DeclarationName getIdentifier(IdentifierInfo *ID) {
+ DeclarationName getIdentifier(const IdentifierInfo *ID) {
return DeclarationName(ID);
}
@@ -324,6 +342,10 @@ public:
/// getCXXOperatorName - Get the name of the overloadable C++
/// operator corresponding to Op.
DeclarationName getCXXOperatorName(OverloadedOperatorKind Op);
+
+ /// getCXXLiteralOperatorName - Get the name of the literal operator function
+ /// with II as the identifier.
+ DeclarationName getCXXLiteralOperatorName(IdentifierInfo *II);
};
/// Insertion operator for diagnostics. This allows sending DeclarationName's
Modified: vendor/clang/dist/include/clang/AST/Expr.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Expr.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/Expr.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -35,6 +35,7 @@ namespace clang {
class CXXOperatorCallExpr;
class CXXMemberCallExpr;
class TemplateArgumentLoc;
+ class TemplateArgumentListInfo;
/// Expr - This represents one expression. Note that Expr's are subclasses of
/// Stmt. This allows an expression to be transparently used any place a Stmt
@@ -366,6 +367,10 @@ struct ExplicitTemplateArgumentList {
const TemplateArgumentLoc *getTemplateArgs() const {
return reinterpret_cast<const TemplateArgumentLoc *> (this + 1);
}
+
+ void initializeFrom(const TemplateArgumentListInfo &List);
+ void copyInto(TemplateArgumentListInfo &List) const;
+ static std::size_t sizeFor(const TemplateArgumentListInfo &List);
};
/// DeclRefExpr - [C99 6.5.1p2] - A reference to a declared variable, function,
@@ -423,31 +428,24 @@ class DeclRefExpr : public Expr {
DeclRefExpr(NestedNameSpecifier *Qualifier, SourceRange QualifierRange,
NamedDecl *D, SourceLocation NameLoc,
- bool HasExplicitTemplateArgumentList,
- SourceLocation LAngleLoc,
- const TemplateArgumentLoc *ExplicitTemplateArgs,
- unsigned NumExplicitTemplateArgs,
- SourceLocation RAngleLoc,
- QualType T, bool TD, bool VD);
+ const TemplateArgumentListInfo *TemplateArgs,
+ QualType T);
protected:
- // FIXME: Eventually, this constructor will go away and all subclasses
- // will have to provide the type- and value-dependent flags.
- DeclRefExpr(StmtClass SC, NamedDecl *d, QualType t, SourceLocation l) :
- Expr(SC, t), DecoratedD(d, 0), Loc(l) {}
+ /// \brief Computes the type- and value-dependence flags for this
+ /// declaration reference expression.
+ void computeDependence();
- DeclRefExpr(StmtClass SC, NamedDecl *d, QualType t, SourceLocation l, bool TD,
- bool VD) :
- Expr(SC, t, TD, VD), DecoratedD(d, 0), Loc(l) {}
+ DeclRefExpr(StmtClass SC, NamedDecl *d, QualType t, SourceLocation l) :
+ Expr(SC, t, false, false), DecoratedD(d, 0), Loc(l) {
+ computeDependence();
+ }
public:
- // FIXME: Eventually, this constructor will go away and all clients
- // will have to provide the type- and value-dependent flags.
DeclRefExpr(NamedDecl *d, QualType t, SourceLocation l) :
- Expr(DeclRefExprClass, t), DecoratedD(d, 0), Loc(l) {}
-
- DeclRefExpr(NamedDecl *d, QualType t, SourceLocation l, bool TD, bool VD) :
- Expr(DeclRefExprClass, t, TD, VD), DecoratedD(d, 0), Loc(l) {}
+ Expr(DeclRefExprClass, t, false, false), DecoratedD(d, 0), Loc(l) {
+ computeDependence();
+ }
/// \brief Construct an empty declaration reference expression.
explicit DeclRefExpr(EmptyShell Empty)
@@ -458,19 +456,8 @@ public:
SourceRange QualifierRange,
NamedDecl *D,
SourceLocation NameLoc,
- QualType T, bool TD, bool VD);
-
- static DeclRefExpr *Create(ASTContext &Context,
- NestedNameSpecifier *Qualifier,
- SourceRange QualifierRange,
- NamedDecl *D,
- SourceLocation NameLoc,
- bool HasExplicitTemplateArgumentList,
- SourceLocation LAngleLoc,
- const TemplateArgumentLoc *ExplicitTemplateArgs,
- unsigned NumExplicitTemplateArgs,
- SourceLocation RAngleLoc,
- QualType T, bool TD, bool VD);
+ QualType T,
+ const TemplateArgumentListInfo *TemplateArgs = 0);
NamedDecl *getDecl() { return DecoratedD.getPointer(); }
const NamedDecl *getDecl() const { return DecoratedD.getPointer(); }
@@ -508,6 +495,13 @@ public:
bool hasExplicitTemplateArgumentList() const {
return DecoratedD.getInt() & HasExplicitTemplateArgumentListFlag;
}
+
+ /// \brief Copies the template arguments (if present) into the given
+ /// structure.
+ void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
+ if (hasExplicitTemplateArgumentList())
+ getExplicitTemplateArgumentList()->copyInto(List);
+ }
/// \brief Retrieve the location of the left angle bracket following the
/// member name ('<'), if any.
@@ -546,8 +540,7 @@ public:
}
static bool classof(const Stmt *T) {
- return T->getStmtClass() == DeclRefExprClass ||
- T->getStmtClass() == CXXConditionDeclExprClass;
+ return T->getStmtClass() == DeclRefExprClass;
}
static bool classof(const DeclRefExpr *) { return true; }
@@ -1313,9 +1306,7 @@ class MemberExpr : public Expr {
MemberExpr(Expr *base, bool isarrow, NestedNameSpecifier *qual,
SourceRange qualrange, NamedDecl *memberdecl, SourceLocation l,
- bool has_explicit, SourceLocation langle,
- const TemplateArgumentLoc *targs, unsigned numtargs,
- SourceLocation rangle, QualType ty);
+ const TemplateArgumentListInfo *targs, QualType ty);
public:
MemberExpr(Expr *base, bool isarrow, NamedDecl *memberdecl, SourceLocation l,
@@ -1334,11 +1325,7 @@ public:
NestedNameSpecifier *qual, SourceRange qualrange,
NamedDecl *memberdecl,
SourceLocation l,
- bool has_explicit,
- SourceLocation langle,
- const TemplateArgumentLoc *targs,
- unsigned numtargs,
- SourceLocation rangle,
+ const TemplateArgumentListInfo *targs,
QualType ty);
void setBase(Expr *E) { Base = E; }
@@ -1378,10 +1365,17 @@ public:
/// \brief Determines whether this member expression actually had a C++
/// template argument list explicitly specified, e.g., x.f<int>.
- bool hasExplicitTemplateArgumentList() {
+ bool hasExplicitTemplateArgumentList() const {
return HasExplicitTemplateArgumentList;
}
+ /// \brief Copies the template arguments (if present) into the given
+ /// structure.
+ void copyTemplateArgumentsInto(TemplateArgumentListInfo &List) const {
+ if (hasExplicitTemplateArgumentList())
+ getExplicitTemplateArgumentList()->copyInto(List);
+ }
+
/// \brief Retrieve the location of the left angle bracket following the
/// member name ('<'), if any.
SourceLocation getLAngleLoc() const {
@@ -1579,7 +1573,11 @@ public:
CK_FloatingToIntegral,
/// CK_FloatingCast - Casting between floating types of different size.
- CK_FloatingCast
+ CK_FloatingCast,
+
+ /// CK_MemberPointerToBoolean - Member pointer to boolean
+ CK_MemberPointerToBoolean
+
};
private:
Modified: vendor/clang/dist/include/clang/AST/ExprCXX.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ExprCXX.h Tue Dec 1 11:07:05 2009 (r199989)
+++ vendor/clang/dist/include/clang/AST/ExprCXX.h Tue Dec 1 11:08:04 2009 (r199990)
@@ -17,6 +17,7 @@
#include "clang/Basic/TypeTraits.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Decl.h"
+#include "clang/AST/TemplateBase.h"
namespace clang {
@@ -24,6 +25,7 @@ namespace clang {
class CXXDestructorDecl;
class CXXMethodDecl;
class CXXTemporary;
+ class TemplateArgumentListInfo;
//===--------------------------------------------------------------------===//
// C++ Expressions.
@@ -669,40 +671,6 @@ public:
virtual child_iterator child_end();
};
-/// CXXConditionDeclExpr - Condition declaration of a if/switch/while/for
-/// statement, e.g: "if (int x = f()) {...}".
-/// The main difference with DeclRefExpr is that CXXConditionDeclExpr owns the
-/// decl that it references.
-///
-class CXXConditionDeclExpr : public DeclRefExpr {
-public:
- CXXConditionDeclExpr(SourceLocation startLoc,
- SourceLocation eqLoc, VarDecl *var)
- : DeclRefExpr(CXXConditionDeclExprClass, var,
- var->getType().getNonReferenceType(), startLoc,
- var->getType()->isDependentType(),
- /*FIXME:integral constant?*/
- var->getType()->isDependentType()) {}
-
- SourceLocation getStartLoc() const { return getLocation(); }
-
- VarDecl *getVarDecl() { return cast<VarDecl>(getDecl()); }
- const VarDecl *getVarDecl() const { return cast<VarDecl>(getDecl()); }
-
- virtual SourceRange getSourceRange() const {
- return SourceRange(getStartLoc(), getVarDecl()->getInit()->getLocEnd());
- }
-
- static bool classof(const Stmt *T) {
- return T->getStmtClass() == CXXConditionDeclExprClass;
- }
- static bool classof(const CXXConditionDeclExpr *) { return true; }
-
- // Iterators
- virtual child_iterator child_begin();
- virtual child_iterator child_end();
-};
-
/// CXXNewExpr - A new expression for memory allocation and constructor calls,
/// e.g: "new CXXNewExpr(foo)".
class CXXNewExpr : public Expr {
@@ -975,52 +943,6 @@ public:
virtual child_iterator child_end();
};
-/// \brief Represents the name of a function that has not been
-/// resolved to any declaration.
-///
-/// Unresolved function names occur when a function name is
-/// encountered prior to an open parentheses ('(') in a C++ function
-/// call, and the function name itself did not resolve to a
-/// declaration. These function names can only be resolved when they
-/// form the postfix-expression of a function call, so that
-/// argument-dependent lookup finds declarations corresponding to
-/// these functions.
-
-/// @code
-/// template<typename T> void f(T x) {
-/// g(x); // g is an unresolved function name (that is also a dependent name)
-/// }
-/// @endcode
-class UnresolvedFunctionNameExpr : public Expr {
- /// The name that was present in the source
- DeclarationName Name;
-
- /// The location of this name in the source code
- SourceLocation Loc;
-
-public:
- UnresolvedFunctionNameExpr(DeclarationName N, QualType T, SourceLocation L)
- : Expr(UnresolvedFunctionNameExprClass, T, false, false), Name(N), Loc(L) { }
-
- /// \brief Retrieves the name that occurred in the source code.
- DeclarationName getName() const { return Name; }
-
- /// getLocation - Retrieves the location in the source code where
- /// the name occurred.
- SourceLocation getLocation() const { return Loc; }
-
- virtual SourceRange getSourceRange() const { return SourceRange(Loc); }
-
- static bool classof(const Stmt *T) {
- return T->getStmtClass() == UnresolvedFunctionNameExprClass;
- }
- static bool classof(const UnresolvedFunctionNameExpr *) { return true; }
-
- // Iterators
- virtual child_iterator child_begin();
- virtual child_iterator child_end();
-};
-
/// UnaryTypeTraitExpr - A GCC or MS unary type trait, as used in the
/// implementation of TR1/C++0x type trait templates.
/// Example:
@@ -1063,21 +985,177 @@ public:
virtual child_iterator child_end();
};
+/// \brief A reference to a name which we were able to look up during
+/// parsing but could not resolve to a specific declaration. This
+/// arises in several ways:
+/// * we might be waiting for argument-dependent lookup
+/// * the name might resolve to an overloaded function
+/// and eventually:
+/// * the lookup might have included a function template
+/// These never include UnresolvedUsingValueDecls, which are always
+/// class members and therefore appear only in
+/// UnresolvedMemberLookupExprs.
+class UnresolvedLookupExpr : public Expr {
+ /// The results. These are undesugared, which is to say, they may
+ /// include UsingShadowDecls.
+ UnresolvedSet Results;
+
+ /// The name declared.
+ DeclarationName Name;
+
+ /// The qualifier given, if any.
+ NestedNameSpecifier *Qualifier;
+
+ /// The source range of the nested name specifier.
+ SourceRange QualifierRange;
+
+ /// The location of the name.
+ SourceLocation NameLoc;
+
+ /// True if these lookup results should be extended by
+ /// argument-dependent lookup if this is the operand of a function
+ /// call.
+ bool RequiresADL;
+
+ /// True if these lookup results are overloaded. This is pretty
+ /// trivially rederivable if we urgently need to kill this field.
+ bool Overloaded;
+
+ /// True if the name looked up had explicit template arguments.
+ /// This requires all the results to be function templates.
+ bool HasExplicitTemplateArgs;
+
+ UnresolvedLookupExpr(QualType T, bool Dependent,
+ NestedNameSpecifier *Qualifier, SourceRange QRange,
+ DeclarationName Name, SourceLocation NameLoc,
+ bool RequiresADL, bool Overloaded, bool HasTemplateArgs)
+ : Expr(UnresolvedLookupExprClass, T, Dependent, Dependent),
+ Name(Name), Qualifier(Qualifier), QualifierRange(QRange),
+ NameLoc(NameLoc), RequiresADL(RequiresADL), Overloaded(Overloaded),
+ HasExplicitTemplateArgs(HasTemplateArgs)
+ {}
+
+public:
+ static UnresolvedLookupExpr *Create(ASTContext &C,
+ bool Dependent,
+ NestedNameSpecifier *Qualifier,
+ SourceRange QualifierRange,
+ DeclarationName Name,
+ SourceLocation NameLoc,
+ bool ADL, bool Overloaded) {
+ return new(C) UnresolvedLookupExpr(Dependent ? C.DependentTy : C.OverloadTy,
+ Dependent, Qualifier, QualifierRange,
+ Name, NameLoc, ADL, Overloaded, false);
+ }
+
+ static UnresolvedLookupExpr *Create(ASTContext &C,
+ bool Dependent,
+ NestedNameSpecifier *Qualifier,
+ SourceRange QualifierRange,
+ DeclarationName Name,
+ SourceLocation NameLoc,
+ bool ADL,
+ const TemplateArgumentListInfo &Args);
+
+ /// Computes whether an unresolved lookup on the given declarations
+ /// and optional template arguments is type- and value-dependent.
+ static bool ComputeDependence(NamedDecl * const *Begin,
+ NamedDecl * const *End,
+ const TemplateArgumentListInfo *Args);
+
+ void addDecl(NamedDecl *Decl) {
+ Results.addDecl(Decl);
+ }
+
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-vendor
mailing list