Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Mar 2010 17:28:17 +0000 (UTC)
From:      Roman Divacky <rdivacky@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-vendor@freebsd.org
Subject:   svn commit: r204643 - in vendor/clang/dist: clang.xcodeproj examples examples/clang-interpreter examples/wpa include/clang-c include/clang/AST include/clang/Analysis include/clang/Analysis/Analyses...
Message-ID:  <201003031728.o23HSHh0016237@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: rdivacky
Date: Wed Mar  3 17:28:16 2010
New Revision: 204643
URL: http://svn.freebsd.org/changeset/base/204643

Log:
  Update clang to 97654.

Added:
  vendor/clang/dist/examples/clang-interpreter/
  vendor/clang/dist/examples/clang-interpreter/CMakeLists.txt
  vendor/clang/dist/examples/clang-interpreter/Makefile
  vendor/clang/dist/examples/clang-interpreter/README.txt
  vendor/clang/dist/examples/clang-interpreter/main.cpp
  vendor/clang/dist/include/clang/Analysis/Analyses/ReachableCode.h
  vendor/clang/dist/include/clang/Frontend/CodeGenAction.h
  vendor/clang/dist/lib/Analysis/ReachableCode.cpp
  vendor/clang/dist/lib/Checker/MacOSXAPIChecker.cpp
  vendor/clang/dist/lib/Checker/ObjCUnusedIVarsChecker.cpp
  vendor/clang/dist/lib/Checker/UnixAPIChecker.cpp
  vendor/clang/dist/lib/Frontend/CodeGenAction.cpp
  vendor/clang/dist/test/ASTMerge/Inputs/category1.m
  vendor/clang/dist/test/ASTMerge/Inputs/category2.m
  vendor/clang/dist/test/ASTMerge/Inputs/exprs1.c
  vendor/clang/dist/test/ASTMerge/Inputs/exprs2.c
  vendor/clang/dist/test/ASTMerge/Inputs/namespace1.cpp
  vendor/clang/dist/test/ASTMerge/Inputs/namespace2.cpp
  vendor/clang/dist/test/ASTMerge/Inputs/property1.m
  vendor/clang/dist/test/ASTMerge/Inputs/property2.m
  vendor/clang/dist/test/ASTMerge/category.m
  vendor/clang/dist/test/ASTMerge/exprs.c
  vendor/clang/dist/test/ASTMerge/namespace.cpp
  vendor/clang/dist/test/ASTMerge/property.m
  vendor/clang/dist/test/Analysis/inline.c
  vendor/clang/dist/test/Analysis/inline2.c
  vendor/clang/dist/test/Analysis/unix-fns.c
  vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.classref/p3.cpp
  vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.qual/p6-0x.cpp
  vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.qual/p6.cpp
  vendor/clang/dist/test/CXX/class.access/class.friend/p1.cpp
  vendor/clang/dist/test/CXX/class.derived/class.member.lookup/p6.cpp
  vendor/clang/dist/test/CXX/class/class.nest/p3.cpp
  vendor/clang/dist/test/CXX/expr/expr.unary/expr.new/p19.cpp
  vendor/clang/dist/test/CXX/expr/expr.unary/expr.new/p20-0x.cpp
  vendor/clang/dist/test/CXX/expr/expr.unary/expr.new/p20.cpp
  vendor/clang/dist/test/CXX/special/class.copy/p3.cpp
  vendor/clang/dist/test/CodeGen/2010-02-16-DbgScopes.c
  vendor/clang/dist/test/CodeGen/2010-02-18-Dbg-VectorType.c
  vendor/clang/dist/test/CodeGen/blocksignature.c
  vendor/clang/dist/test/CodeGen/cast-emit.c
  vendor/clang/dist/test/CodeGen/extern-inline.c
  vendor/clang/dist/test/CodeGenCXX/constructors.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-layout-abi-examples.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-layout-extreme.cpp
  vendor/clang/dist/test/CodeGenObjC/stand-alone-implementation.m
  vendor/clang/dist/test/Driver/clang-c-as-cxx.c
  vendor/clang/dist/test/Index/Inputs/cindex-from-source.h
  vendor/clang/dist/test/Index/linkage.c
  vendor/clang/dist/test/PCH/Inputs/
  vendor/clang/dist/test/PCH/Inputs/namespaces.h
  vendor/clang/dist/test/PCH/namespaces.cpp
  vendor/clang/dist/test/Parser/knr_parameter_attributes.c
  vendor/clang/dist/test/Preprocessor/directive-invalid.c
  vendor/clang/dist/test/Rewriter/dllimport-typedef.c
  vendor/clang/dist/test/Rewriter/missing-dllimport.c
  vendor/clang/dist/test/Rewriter/rewrite-byref-in-nested-blocks.mm
  vendor/clang/dist/test/Rewriter/rewrite-nested-blocks-1.mm
  vendor/clang/dist/test/Rewriter/rewrite-nested-blocks.mm
  vendor/clang/dist/test/Rewriter/rewrite-property-attributes.mm
  vendor/clang/dist/test/Rewriter/rewrite-qualified-id.mm
  vendor/clang/dist/test/Rewriter/rewrite-rewritten-initializer.mm
  vendor/clang/dist/test/SemaCXX/address-of-temporary.cpp
  vendor/clang/dist/test/SemaCXX/attr-weakref.cpp
  vendor/clang/dist/test/SemaCXX/blocks-1.cpp
  vendor/clang/dist/test/SemaCXX/local-classes.cpp
  vendor/clang/dist/test/SemaObjC/conditional-expr-7.m
  vendor/clang/dist/test/SemaObjC/duplicate-ivar-in-class-extension.m
  vendor/clang/dist/test/SemaObjC/ivar-in-class-extension.m
  vendor/clang/dist/test/SemaObjC/ivar-in-implementations.m
  vendor/clang/dist/test/SemaObjC/method-warn-unused-attribute.m
  vendor/clang/dist/test/SemaObjC/property-and-class-extension.m
  vendor/clang/dist/test/SemaObjC/stand-alone-implementation.m
  vendor/clang/dist/test/SemaObjCXX/message.mm
  vendor/clang/dist/test/SemaObjCXX/vla.mm
  vendor/clang/dist/test/SemaTemplate/instantiate-invalid.cpp
  vendor/clang/dist/www/analyzer/images/scan_build_cmd.png   (contents, props changed)
  vendor/clang/dist/www/analyzer/xcode.html
Deleted:
  vendor/clang/dist/lib/Checker/CheckObjCUnusedIVars.cpp
  vendor/clang/dist/lib/Frontend/Backend.cpp
Modified:
  vendor/clang/dist/clang.xcodeproj/project.pbxproj
  vendor/clang/dist/examples/CMakeLists.txt
  vendor/clang/dist/examples/Makefile
  vendor/clang/dist/examples/wpa/Makefile
  vendor/clang/dist/include/clang-c/Index.h
  vendor/clang/dist/include/clang/AST/ASTContext.h
  vendor/clang/dist/include/clang/AST/ASTImporter.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/DeclObjC.h
  vendor/clang/dist/include/clang/AST/Expr.h
  vendor/clang/dist/include/clang/AST/ExprCXX.h
  vendor/clang/dist/include/clang/AST/Type.h
  vendor/clang/dist/include/clang/AST/TypeNodes.def
  vendor/clang/dist/include/clang/Analysis/Analyses/PrintfFormatString.h
  vendor/clang/dist/include/clang/Analysis/AnalysisContext.h
  vendor/clang/dist/include/clang/Analysis/CFG.h
  vendor/clang/dist/include/clang/Analysis/ProgramPoint.h
  vendor/clang/dist/include/clang/Analysis/Support/BumpVector.h
  vendor/clang/dist/include/clang/Basic/Builtins.def
  vendor/clang/dist/include/clang/Basic/Diagnostic.h
  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/DiagnosticParseKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist/include/clang/Basic/LangOptions.h
  vendor/clang/dist/include/clang/Basic/OnDiskHashTable.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/Checker.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRCoreEngine.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRExprEngine.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRState.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRSubEngine.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/MemRegion.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/SymbolManager.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/ValueManager.h
  vendor/clang/dist/include/clang/CodeGen/CodeGenOptions.h
  vendor/clang/dist/include/clang/Driver/CC1Options.td
  vendor/clang/dist/include/clang/Driver/Driver.h
  vendor/clang/dist/include/clang/Driver/Options.td
  vendor/clang/dist/include/clang/Driver/Types.h
  vendor/clang/dist/include/clang/Frontend/ASTConsumers.h
  vendor/clang/dist/include/clang/Frontend/ASTUnit.h
  vendor/clang/dist/include/clang/Frontend/FrontendActions.h
  vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h
  vendor/clang/dist/include/clang/Frontend/TextDiagnosticPrinter.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/Parser.h
  vendor/clang/dist/include/clang/Parse/Scope.h
  vendor/clang/dist/lib/AST/ASTContext.cpp
  vendor/clang/dist/lib/AST/ASTImporter.cpp
  vendor/clang/dist/lib/AST/AttrImpl.cpp
  vendor/clang/dist/lib/AST/CXXInheritance.cpp
  vendor/clang/dist/lib/AST/Decl.cpp
  vendor/clang/dist/lib/AST/DeclBase.cpp
  vendor/clang/dist/lib/AST/DeclCXX.cpp
  vendor/clang/dist/lib/AST/DeclObjC.cpp
  vendor/clang/dist/lib/AST/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/StmtPrinter.cpp
  vendor/clang/dist/lib/Analysis/AnalysisContext.cpp
  vendor/clang/dist/lib/Analysis/CFG.cpp
  vendor/clang/dist/lib/Analysis/CMakeLists.txt
  vendor/clang/dist/lib/Analysis/LiveVariables.cpp
  vendor/clang/dist/lib/Analysis/PrintfFormatString.cpp
  vendor/clang/dist/lib/Analysis/UninitializedValues.cpp
  vendor/clang/dist/lib/Basic/Diagnostic.cpp
  vendor/clang/dist/lib/Basic/SourceManager.cpp
  vendor/clang/dist/lib/Basic/Targets.cpp
  vendor/clang/dist/lib/Basic/Version.cpp
  vendor/clang/dist/lib/Checker/BasicStore.cpp
  vendor/clang/dist/lib/Checker/BuiltinFunctionChecker.cpp
  vendor/clang/dist/lib/Checker/CFRefCount.cpp
  vendor/clang/dist/lib/Checker/CMakeLists.txt
  vendor/clang/dist/lib/Checker/CallInliner.cpp
  vendor/clang/dist/lib/Checker/CheckDeadStores.cpp
  vendor/clang/dist/lib/Checker/FlatStore.cpp
  vendor/clang/dist/lib/Checker/GRCoreEngine.cpp
  vendor/clang/dist/lib/Checker/GRExprEngine.cpp
  vendor/clang/dist/lib/Checker/GRExprEngineInternalChecks.h
  vendor/clang/dist/lib/Checker/MemRegion.cpp
  vendor/clang/dist/lib/Checker/OSAtomicChecker.cpp
  vendor/clang/dist/lib/Checker/RegionStore.cpp
  vendor/clang/dist/lib/Checker/SymbolManager.cpp
  vendor/clang/dist/lib/Checker/ValueManager.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/CGCall.h
  vendor/clang/dist/lib/CodeGen/CGClass.cpp
  vendor/clang/dist/lib/CodeGen/CGDebugInfo.cpp
  vendor/clang/dist/lib/CodeGen/CGDebugInfo.h
  vendor/clang/dist/lib/CodeGen/CGException.cpp
  vendor/clang/dist/lib/CodeGen/CGExpr.cpp
  vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp
  vendor/clang/dist/lib/CodeGen/CGVTT.cpp
  vendor/clang/dist/lib/CodeGen/CGVtable.cpp
  vendor/clang/dist/lib/CodeGen/CGVtable.h
  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/TargetInfo.cpp
  vendor/clang/dist/lib/CodeGen/TargetInfo.h
  vendor/clang/dist/lib/Driver/Driver.cpp
  vendor/clang/dist/lib/Driver/Tools.cpp
  vendor/clang/dist/lib/Driver/Tools.h
  vendor/clang/dist/lib/Driver/Types.cpp
  vendor/clang/dist/lib/Frontend/ASTUnit.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/FrontendActions.cpp
  vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp
  vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp
  vendor/clang/dist/lib/Frontend/PCHReaderDecl.cpp
  vendor/clang/dist/lib/Frontend/PCHWriter.cpp
  vendor/clang/dist/lib/Frontend/PCHWriterDecl.cpp
  vendor/clang/dist/lib/Frontend/PrintPreprocessedOutput.cpp
  vendor/clang/dist/lib/Frontend/RewriteObjC.cpp
  vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp
  vendor/clang/dist/lib/Headers/xmmintrin.h
  vendor/clang/dist/lib/Lex/PPDirectives.cpp
  vendor/clang/dist/lib/Lex/PPExpressions.cpp
  vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp
  vendor/clang/dist/lib/Lex/Pragma.cpp
  vendor/clang/dist/lib/Lex/Preprocessor.cpp
  vendor/clang/dist/lib/Parse/AttributeList.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/ParseTentative.cpp
  vendor/clang/dist/lib/Parse/Parser.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/SemaCXXScopeSpec.cpp
  vendor/clang/dist/lib/Sema/SemaChecking.cpp
  vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp
  vendor/clang/dist/lib/Sema/SemaDecl.cpp
  vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp
  vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp
  vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp
  vendor/clang/dist/lib/Sema/SemaExpr.cpp
  vendor/clang/dist/lib/Sema/SemaExprCXX.cpp
  vendor/clang/dist/lib/Sema/SemaExprObjC.cpp
  vendor/clang/dist/lib/Sema/SemaInit.cpp
  vendor/clang/dist/lib/Sema/SemaLookup.cpp
  vendor/clang/dist/lib/Sema/SemaOverload.cpp
  vendor/clang/dist/lib/Sema/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/TargetAttributesSema.cpp
  vendor/clang/dist/lib/Sema/TreeTransform.h
  vendor/clang/dist/test/ASTMerge/Inputs/interface1.m
  vendor/clang/dist/test/ASTMerge/Inputs/interface2.m
  vendor/clang/dist/test/ASTMerge/interface.m
  vendor/clang/dist/test/Analysis/blocks.m
  vendor/clang/dist/test/Analysis/dead-stores.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store.m
  vendor/clang/dist/test/Analysis/retain-release.m
  vendor/clang/dist/test/Analysis/unused-ivars.m
  vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.def/namespace.memdef/p3.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.mem/p1.cpp
  vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3-nodeduct.cpp
  vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p6.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p4.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p6.cpp
  vendor/clang/dist/test/CodeGen/attributes.c
  vendor/clang/dist/test/CodeGen/builtins.c
  vendor/clang/dist/test/CodeGen/dllimport-dllexport.c
  vendor/clang/dist/test/CodeGen/functions.c
  vendor/clang/dist/test/CodeGenCXX/alloca-align.cpp
  vendor/clang/dist/test/CodeGenCXX/default-arguments.cpp
  vendor/clang/dist/test/CodeGenCXX/destructors.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-subst-std.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-template.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle.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-destructor-calls.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-layout.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-pointer-initialization.cpp
  vendor/clang/dist/test/CodeGenObjC/messages-2.m
  vendor/clang/dist/test/Index/annotate-tokens.c
  vendor/clang/dist/test/Index/c-index-api-loadTU-test.m
  vendor/clang/dist/test/Index/cindex-from-source.m
  vendor/clang/dist/test/Index/cindex-on-invalid.m
  vendor/clang/dist/test/Index/code-complete-errors.c
  vendor/clang/dist/test/Lexer/constants.c
  vendor/clang/dist/test/Parser/MicrosoftExtensions.c
  vendor/clang/dist/test/Parser/cxx-decl.cpp
  vendor/clang/dist/test/Parser/cxx-template-argument.cpp
  vendor/clang/dist/test/Rewriter/rewrite-block-pointer.mm
  vendor/clang/dist/test/Rewriter/rewrite-implementation.mm
  vendor/clang/dist/test/Rewriter/rewrite-unique-block-api.mm
  vendor/clang/dist/test/Sema/align-x86.c
  vendor/clang/dist/test/Sema/arg-duplicate.c
  vendor/clang/dist/test/Sema/block-args.c
  vendor/clang/dist/test/Sema/callingconv.c
  vendor/clang/dist/test/Sema/conversion.c
  vendor/clang/dist/test/Sema/declspec.c
  vendor/clang/dist/test/Sema/dllimport-dllexport.c
  vendor/clang/dist/test/Sema/enum.c
  vendor/clang/dist/test/Sema/format-strings.c
  vendor/clang/dist/test/Sema/inline.c
  vendor/clang/dist/test/Sema/overloadable-complex.c
  vendor/clang/dist/test/Sema/static-init.c
  vendor/clang/dist/test/Sema/switch.c
  vendor/clang/dist/test/Sema/warn-unreachable.c
  vendor/clang/dist/test/Sema/warn-unused-function.c
  vendor/clang/dist/test/Sema/warn-unused-variables.c
  vendor/clang/dist/test/Sema/x86-attr-force-align-arg-pointer.c
  vendor/clang/dist/test/SemaCXX/complex-overload.cpp
  vendor/clang/dist/test/SemaCXX/composite-pointer-type.cpp
  vendor/clang/dist/test/SemaCXX/condition.cpp
  vendor/clang/dist/test/SemaCXX/copy-constructor-error.cpp
  vendor/clang/dist/test/SemaCXX/dcl_init_aggr.cpp
  vendor/clang/dist/test/SemaCXX/default2.cpp
  vendor/clang/dist/test/SemaCXX/destructor.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/invalid-member-expr.cpp
  vendor/clang/dist/test/SemaCXX/member-name-lookup.cpp
  vendor/clang/dist/test/SemaCXX/member-pointer.cpp
  vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp
  vendor/clang/dist/test/SemaCXX/new-delete.cpp
  vendor/clang/dist/test/SemaCXX/overload-call.cpp
  vendor/clang/dist/test/SemaCXX/pseudo-destructors.cpp
  vendor/clang/dist/test/SemaCXX/statements.cpp
  vendor/clang/dist/test/SemaCXX/type-convert-construct.cpp
  vendor/clang/dist/test/SemaCXX/warn-unreachable.cpp
  vendor/clang/dist/test/SemaObjC/category-1.m
  vendor/clang/dist/test/SemaObjC/format-strings-objc.m
  vendor/clang/dist/test/SemaObjC/property-user-setter.m
  vendor/clang/dist/test/SemaObjC/unused.m
  vendor/clang/dist/test/SemaTemplate/dependent-base-classes.cpp
  vendor/clang/dist/test/SemaTemplate/destructor-template.cpp
  vendor/clang/dist/test/SemaTemplate/explicit-specialization-member.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-complete.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-enum.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-expr-1.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-function-1.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-init.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-static-var.cpp
  vendor/clang/dist/test/SemaTemplate/member-access-expr.cpp
  vendor/clang/dist/test/SemaTemplate/nested-name-spec-template.cpp
  vendor/clang/dist/test/SemaTemplate/temp_arg.cpp
  vendor/clang/dist/test/SemaTemplate/template-decl-fail.cpp
  vendor/clang/dist/test/SemaTemplate/virtual-member-functions.cpp
  vendor/clang/dist/test/lit.cfg
  vendor/clang/dist/tools/CIndex/CIndex.cpp
  vendor/clang/dist/tools/CIndex/CIndex.exports
  vendor/clang/dist/tools/CIndex/CIndexCodeCompletion.cpp
  vendor/clang/dist/tools/CIndex/CIndexDiagnostic.cpp
  vendor/clang/dist/tools/CIndex/CIndexDiagnostic.h
  vendor/clang/dist/tools/CIndex/CIndexUSRs.cpp
  vendor/clang/dist/tools/CIndex/CIndexer.h
  vendor/clang/dist/tools/CIndex/CMakeLists.txt
  vendor/clang/dist/tools/CIndex/CXCursor.cpp
  vendor/clang/dist/tools/CIndex/CXCursor.h
  vendor/clang/dist/tools/c-index-test/c-index-test.c
  vendor/clang/dist/tools/driver/cc1_main.cpp
  vendor/clang/dist/tools/driver/driver.cpp
  vendor/clang/dist/tools/scan-build/ccc-analyzer
  vendor/clang/dist/www/analyzer/content.css
  vendor/clang/dist/www/analyzer/index.html
  vendor/clang/dist/www/analyzer/latest_checker.html.incl
  vendor/clang/dist/www/analyzer/menu.html.incl
  vendor/clang/dist/www/analyzer/scan-build.html

Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj
==============================================================================
--- vendor/clang/dist/clang.xcodeproj/project.pbxproj	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/clang.xcodeproj/project.pbxproj	Wed Mar  3 17:28:16 2010	(r204643)
@@ -420,7 +420,7 @@
 		1A81AA5D108278A20094E50B /* CGVtable.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGVtable.h; path = lib/CodeGen/CGVtable.h; sourceTree = "<group>"; tabWidth = 2; };
 		1A869A6E0BA2164C008DA07A /* LiteralSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiteralSupport.h; sourceTree = "<group>"; };
 		1A869AA70BA21ABA008DA07A /* LiteralSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LiteralSupport.cpp; sourceTree = "<group>"; };
-		1A97825A1108BA18002B98FC /* CGVTT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CGVTT.cpp; path = lib/CodeGen/CGVTT.cpp; sourceTree = "<group>"; };
+		1A97825A1108BA18002B98FC /* CGVTT.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGVTT.cpp; path = lib/CodeGen/CGVTT.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1A986AB610D0746D00A8EA9E /* CGDeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGDeclCXX.cpp; path = lib/CodeGen/CGDeclCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AA1D91610125DE30078DEBC /* RecordLayoutBuilder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = RecordLayoutBuilder.cpp; path = lib/AST/RecordLayoutBuilder.cpp; sourceTree = "<group>"; tabWidth = 2; };
 		1AA1D91710125DE30078DEBC /* RecordLayoutBuilder.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = RecordLayoutBuilder.h; path = lib/AST/RecordLayoutBuilder.h; sourceTree = "<group>"; tabWidth = 2; };

Modified: vendor/clang/dist/examples/CMakeLists.txt
==============================================================================
--- vendor/clang/dist/examples/CMakeLists.txt	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/examples/CMakeLists.txt	Wed Mar  3 17:28:16 2010	(r204643)
@@ -1,3 +1,4 @@
+add_subdirectory(clang-interpreter)
 add_subdirectory(PrintFunctionNames)
 add_subdirectory(wpa)
 

Modified: vendor/clang/dist/examples/Makefile
==============================================================================
--- vendor/clang/dist/examples/Makefile	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/examples/Makefile	Wed Mar  3 17:28:16 2010	(r204643)
@@ -9,6 +9,6 @@
 
 LEVEL = ../../..
 
-PARALLEL_DIRS := PrintFunctionNames wpa
+PARALLEL_DIRS := clang-interpreter PrintFunctionNames wpa
 
 include $(LEVEL)/Makefile.common

Added: vendor/clang/dist/examples/clang-interpreter/CMakeLists.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/examples/clang-interpreter/CMakeLists.txt	Wed Mar  3 17:28:16 2010	(r204643)
@@ -0,0 +1,30 @@
+set(LLVM_NO_RTTI 1)
+
+set(LLVM_USED_LIBS
+    clangFrontend
+    clangDriver
+    clangCodeGen
+    clangSema
+    clangChecker
+    clangAnalysis
+    clangRewrite
+    clangAST
+    clangParse
+    clangLex
+    clangBasic
+    )
+
+set(LLVM_LINK_COMPONENTS
+    jit
+    interpreter
+    nativecodegen
+    bitreader
+    bitwriter
+    ipo
+    selectiondag
+  )
+
+add_clang_executable(clang-interpreter
+  main.cpp
+  )
+add_dependencies(clang-interpreter clang-headers)

Added: vendor/clang/dist/examples/clang-interpreter/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/examples/clang-interpreter/Makefile	Wed Mar  3 17:28:16 2010	(r204643)
@@ -0,0 +1,30 @@
+##===- examples/clang-interpreter/Makefile -----------------*- Makefile -*-===##
+#
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+
+LEVEL = ../../../..
+
+TOOLNAME = clang-interpreter
+CPPFLAGS += -I$(PROJ_SRC_DIR)/../../include -I$(PROJ_OBJ_DIR)/../../include
+NO_INSTALL = 1
+
+# No plugins, optimize startup time.
+TOOL_NO_EXPORTS = 1
+
+# Include this here so we can get the configuration of the targets that have
+# been configured for construction. We have to do this early so we can set up
+# LINK_COMPONENTS before including Makefile.rules
+include $(LEVEL)/Makefile.config
+
+LINK_COMPONENTS := jit interpreter nativecodegen bitreader bitwriter ipo \
+	selectiondag
+USEDLIBS = clangFrontend.a clangDriver.a clangCodeGen.a clangSema.a \
+           clangChecker.a clangAnalysis.a clangRewrite.a  clangAST.a \
+           clangParse.a clangLex.a clangBasic.a
+
+include $(LLVM_SRC_ROOT)/Makefile.rules

Added: vendor/clang/dist/examples/clang-interpreter/README.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/examples/clang-interpreter/README.txt	Wed Mar  3 17:28:16 2010	(r204643)
@@ -0,0 +1,17 @@
+This is an example of Clang based interpreter, for executing standalone C
+programs.
+
+It demonstrates the following features:
+ 1. Parsing standard compiler command line arguments using the Driver library.
+
+ 2. Constructing a Clang compiler instance, using the appropriate arguments
+    derived in step #1.
+
+ 3. Invoking the Clang compiler to lex, parse, syntax check, and then generate
+    LLVM code.
+
+ 4. Use the LLVM JIT functionality to execute the final module.
+
+The implementation has many limitations and is not designed to be a full fledged
+C interpreter. It is designed to demonstrate a simple but functional use of the
+Clang compiler libraries.

Added: vendor/clang/dist/examples/clang-interpreter/main.cpp
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/examples/clang-interpreter/main.cpp	Wed Mar  3 17:28:16 2010	(r204643)
@@ -0,0 +1,152 @@
+//===-- examples/clang-interpreter/main.cpp - Clang C Interpreter Example -===//
+//
+//                     The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+
+#include "clang/Driver/Compilation.h"
+#include "clang/Driver/Driver.h"
+#include "clang/Driver/Tool.h"
+#include "clang/Frontend/CodeGenAction.h"
+#include "clang/Frontend/CompilerInvocation.h"
+#include "clang/Frontend/CompilerInstance.h"
+#include "clang/Frontend/DiagnosticOptions.h"
+#include "clang/Frontend/FrontendDiagnostic.h"
+#include "clang/Frontend/TextDiagnosticPrinter.h"
+
+#include "llvm/LLVMContext.h"
+#include "llvm/Module.h"
+#include "llvm/Config/config.h"
+#include "llvm/ADT/OwningPtr.h"
+#include "llvm/ADT/SmallString.h"
+#include "llvm/Config/config.h"
+#include "llvm/ExecutionEngine/ExecutionEngine.h"
+#include "llvm/Support/ManagedStatic.h"
+#include "llvm/Support/raw_ostream.h"
+#include "llvm/System/Host.h"
+#include "llvm/System/Path.h"
+#include "llvm/Target/TargetSelect.h"
+using namespace clang;
+using namespace clang::driver;
+
+llvm::sys::Path GetExecutablePath(const char *Argv0) {
+  // This just needs to be some symbol in the binary; C++ doesn't
+  // allow taking the address of ::main however.
+  void *MainAddr = (void*) (intptr_t) GetExecutablePath;
+  return llvm::sys::Path::GetMainExecutable(Argv0, MainAddr);
+}
+
+int Execute(llvm::Module *Mod, char * const *envp) {
+  llvm::InitializeNativeTarget();
+
+  std::string Error;
+  llvm::OwningPtr<llvm::ExecutionEngine> EE(
+    llvm::ExecutionEngine::createJIT(Mod, &Error));
+  if (!EE) {
+    llvm::errs() << "unable to make execution engine: " << Error << "\n";
+    return 255;
+  }
+
+  llvm::Function *EntryFn = Mod->getFunction("main");
+  if (!EntryFn) {
+    llvm::errs() << "'main' function not found in module.\n";
+    return 255;
+  }
+
+  // FIXME: Support passing arguments.
+  std::vector<std::string> Args;
+  Args.push_back(Mod->getModuleIdentifier());
+
+  return EE->runFunctionAsMain(EntryFn, Args, envp);
+}
+
+int main(int argc, const char **argv, char * const *envp) {
+  void *MainAddr = (void*) (intptr_t) GetExecutablePath;
+  llvm::sys::Path Path = GetExecutablePath(argv[0]);
+  TextDiagnosticPrinter DiagClient(llvm::errs(), DiagnosticOptions());
+
+  Diagnostic Diags(&DiagClient);
+  Driver TheDriver(Path.getBasename(), Path.getDirname(),
+                   llvm::sys::getHostTriple(),
+                   "a.out", /*IsProduction=*/false, Diags);
+  TheDriver.setTitle("clang interpreter");
+
+  // FIXME: This is a hack to try to force the driver to do something we can
+  // recognize. We need to extend the driver library to support this use model
+  // (basically, exactly one input, and the operation mode is hard wired).
+  llvm::SmallVector<const char *, 16> Args(argv, argv + argc);
+  Args.push_back("-fsyntax-only");
+  llvm::OwningPtr<Compilation> C(TheDriver.BuildCompilation(Args.size(),
+                                                            Args.data()));
+  if (!C)
+    return 0;
+
+  // FIXME: This is copied from ASTUnit.cpp; simplify and eliminate.
+
+  // We expect to get back exactly one command job, if we didn't something
+  // failed. Extract that job from the compilation.
+  const driver::JobList &Jobs = C->getJobs();
+  if (Jobs.size() != 1 || !isa<driver::Command>(Jobs.begin())) {
+    llvm::SmallString<256> Msg;
+    llvm::raw_svector_ostream OS(Msg);
+    C->PrintJob(OS, C->getJobs(), "; ", true);
+    Diags.Report(diag::err_fe_expected_compiler_job) << OS.str();
+    return 1;
+  }
+
+  const driver::Command *Cmd = cast<driver::Command>(*Jobs.begin());
+  if (llvm::StringRef(Cmd->getCreator().getName()) != "clang") {
+    Diags.Report(diag::err_fe_expected_clang_command);
+    return 1;
+  }
+
+  // Initialize a compiler invocation object from the clang (-cc1) arguments.
+  const driver::ArgStringList &CCArgs = Cmd->getArguments();
+  llvm::OwningPtr<CompilerInvocation> CI(new CompilerInvocation);
+  CompilerInvocation::CreateFromArgs(*CI, (const char**) CCArgs.data(),
+                                     (const char**) CCArgs.data()+CCArgs.size(),
+                                     Diags);
+
+  // Show the invocation, with -v.
+  if (CI->getHeaderSearchOpts().Verbose) {
+    llvm::errs() << "clang invocation:\n";
+    C->PrintJob(llvm::errs(), C->getJobs(), "\n", true);
+    llvm::errs() << "\n";
+  }
+
+  // FIXME: This is copied from cc1_main.cpp; simplify and eliminate.
+
+  // Create a compiler instance to handle the actual work.
+  CompilerInstance Clang;
+  Clang.setLLVMContext(new llvm::LLVMContext);
+  Clang.setInvocation(CI.take());
+
+  // Create the compilers actual diagnostics engine.
+  Clang.createDiagnostics(int(CCArgs.size()), (char**) CCArgs.data());
+  if (!Clang.hasDiagnostics())
+    return 1;
+
+  // Infer the builtin include path if unspecified.
+  if (Clang.getHeaderSearchOpts().UseBuiltinIncludes &&
+      Clang.getHeaderSearchOpts().ResourceDir.empty())
+    Clang.getHeaderSearchOpts().ResourceDir =
+      CompilerInvocation::GetResourcesPath(argv[0], MainAddr);
+
+  // Create and execute the frontend to generate an LLVM bitcode module.
+  llvm::OwningPtr<CodeGenAction> Act(new EmitLLVMOnlyAction());
+  if (!Clang.ExecuteAction(*Act))
+    return 1;
+
+  int Res = 255;
+  if (llvm::Module *Module = Act->takeModule())
+    Res = Execute(Module, envp);
+
+  // Shutdown.
+
+  llvm::llvm_shutdown();
+
+  return Res;
+}

Modified: vendor/clang/dist/examples/wpa/Makefile
==============================================================================
--- vendor/clang/dist/examples/wpa/Makefile	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/examples/wpa/Makefile	Wed Mar  3 17:28:16 2010	(r204643)
@@ -1,3 +1,12 @@
+##===- examples/wpa/Makefile -------------------------------*- Makefile -*-===##
+#
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+##===----------------------------------------------------------------------===##
+
 LEVEL = ../../../..
 
 TOOLNAME = clang-wpa
@@ -7,6 +16,9 @@ NO_INSTALL = 1
 # No plugins, optimize startup time.
 TOOL_NO_EXPORTS = 1
 
+# Include this here so we can get the configuration of the targets that have
+# been configured for construction. We have to do this early so we can set up
+# LINK_COMPONENTS before including Makefile.rules
 include $(LEVEL)/Makefile.config
 
 LINK_COMPONENTS := bitreader mc core

Modified: vendor/clang/dist/include/clang-c/Index.h
==============================================================================
--- vendor/clang/dist/include/clang-c/Index.h	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/include/clang-c/Index.h	Wed Mar  3 17:28:16 2010	(r204643)
@@ -18,6 +18,7 @@
 
 #include <sys/stat.h>
 #include <time.h>
+#include <stdio.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -86,14 +87,12 @@ struct CXUnsavedFile {
   const char *Filename;
 
   /**
-   * \brief A null-terminated buffer containing the unsaved contents
-   * of this file.
+   * \brief A buffer containing the unsaved contents of this file.
    */
   const char *Contents;
 
   /**
-   * \brief The length of the unsaved contents of this buffer, not
-   * counting the NULL at the end of the buffer.
+   * \brief The length of the unsaved contents of this buffer.
    */
   unsigned long Length;
 };
@@ -145,8 +144,8 @@ CINDEX_LINKAGE void clang_disposeString(
  *
  * Here is an example:
  *
- *   // excludeDeclsFromPCH = 1
- *   Idx = clang_createIndex(1);
+ *   // excludeDeclsFromPCH = 1, displayDiagnostics=1
+ *   Idx = clang_createIndex(1, 1);
  *
  *   // IndexTest.pch was produced with the following command:
  *   // "clang -x c IndexTest.h -emit-ast -o IndexTest.pch"
@@ -170,7 +169,8 @@ CINDEX_LINKAGE void clang_disposeString(
  * -include-pch) allows 'excludeDeclsFromPCH' to remove redundant callbacks
  * (which gives the indexer the same performance benefit as the compiler).
  */
-CINDEX_LINKAGE CXIndex clang_createIndex(int excludeDeclarationsFromPCH);
+CINDEX_LINKAGE CXIndex clang_createIndex(int excludeDeclarationsFromPCH,
+                                         int displayDiagnostics);
   
 /**
  * \brief Destroy the given index.
@@ -207,7 +207,7 @@ typedef void *CXFile;
 /**
  * \brief Retrieve the complete file and path name of the given file.
  */
-CINDEX_LINKAGE const char *clang_getFileName(CXFile SFile);
+CINDEX_LINKAGE CXString clang_getFileName(CXFile SFile);
 
 /**
  * \brief Retrieve the last modification time of the given file.
@@ -388,45 +388,105 @@ enum CXDiagnosticSeverity {
 };
 
 /**
- * \brief Describes the kind of fix-it hint expressed within a
- * diagnostic.
+ * \brief A single diagnostic, containing the diagnostic's severity,
+ * location, text, source ranges, and fix-it hints.
+ */
+typedef void *CXDiagnostic;
+
+/**
+ * \brief Determine the number of diagnostics produced for the given
+ * translation unit.
+ */
+CINDEX_LINKAGE unsigned clang_getNumDiagnostics(CXTranslationUnit Unit);
+
+/**
+ * \brief Retrieve a diagnostic associated with the given translation unit.
+ *
+ * \param Unit the translation unit to query.
+ * \param Index the zero-based diagnostic number to retrieve.
+ *
+ * \returns the requested diagnostic. This diagnostic must be freed
+ * via a call to \c clang_disposeDiagnostic().
+ */
+CINDEX_LINKAGE CXDiagnostic clang_getDiagnostic(CXTranslationUnit Unit,
+                                                unsigned Index);
+
+/**
+ * \brief Destroy a diagnostic.
  */
-enum CXFixItKind {
+CINDEX_LINKAGE void clang_disposeDiagnostic(CXDiagnostic Diagnostic);
+
+/**
+ * \brief Options to control the display of diagnostics.
+ *
+ * The values in this enum are meant to be combined to customize the
+ * behavior of \c clang_displayDiagnostic().
+ */
+enum CXDiagnosticDisplayOptions {
   /**
-   * \brief A fix-it hint that inserts code at a particular position.
+   * \brief Display the source-location information where the
+   * diagnostic was located.
+   *
+   * When set, diagnostics will be prefixed by the file, line, and
+   * (optionally) column to which the diagnostic refers. For example,
+   *
+   * \code
+   * test.c:28: warning: extra tokens at end of #endif directive
+   * \endcode
+   *
+   * This option corresponds to the clang flag \c -fshow-source-location.
    */
-  CXFixIt_Insertion   = 0,
+  CXDiagnostic_DisplaySourceLocation = 0x01,
 
   /**
-   * \brief A fix-it hint that removes code within a range.
+   * \brief If displaying the source-location information of the
+   * diagnostic, also include the column number.
+   *
+   * This option corresponds to the clang flag \c -fshow-column.
    */
-  CXFixIt_Removal     = 1,
+  CXDiagnostic_DisplayColumn = 0x02,
 
   /**
-   * \brief A fix-it hint that replaces the code within a range with another
-   * string.
+   * \brief If displaying the source-location information of the
+   * diagnostic, also include information about source ranges in a
+   * machine-parsable format.
+   *
+   * This option corresponds to the clang flag 
+   * \c -fdiagnostics-print-source-range-info.
    */
-  CXFixIt_Replacement = 2
+  CXDiagnostic_DisplaySourceRanges = 0x04
 };
 
 /**
- * \brief A single diagnostic, containing the diagnostic's severity,
- * location, text, source ranges, and fix-it hints.
+ * \brief Format the given diagnostic in a manner that is suitable for display.
+ *
+ * This routine will format the given diagnostic to a string, rendering
+ * the diagnostic according to the various options given. The 
+ * \c clang_defaultDiagnosticDisplayOptions() function returns the set of 
+ * options that most closely mimics the behavior of the clang compiler.
+ *
+ * \param Diagnostic The diagnostic to print.
+ *
+ * \param Options A set of options that control the diagnostic display, 
+ * created by combining \c CXDiagnosticDisplayOptions values.
+ *
+ * \returns A new string containing for formatted diagnostic.
  */
-typedef void *CXDiagnostic;
+CINDEX_LINKAGE CXString clang_formatDiagnostic(CXDiagnostic Diagnostic,
+                                               unsigned Options);
 
 /**
- * \brief Callback function invoked for each diagnostic emitted during
- * translation.
+ * \brief Retrieve the set of display options most similar to the
+ * default behavior of the clang compiler.
  *
- * \param Diagnostic the diagnostic emitted during translation. This
- * diagnostic pointer is only valid during the execution of the
- * callback.
- *
- * \param ClientData the callback client data.
+ * \returns A set of display options suitable for use with \c
+ * clang_displayDiagnostic().
+ */
+CINDEX_LINKAGE unsigned clang_defaultDiagnosticDisplayOptions(void);
+
+/**
+ * \brief Print a diagnostic to the given file.
  */
-typedef void (*CXDiagnosticCallback)(CXDiagnostic Diagnostic,
-                                     CXClientData ClientData);
 
 /**
  * \brief Determine the severity of the given diagnostic.
@@ -476,69 +536,33 @@ CINDEX_LINKAGE CXSourceRange clang_getDi
 CINDEX_LINKAGE unsigned clang_getDiagnosticNumFixIts(CXDiagnostic Diagnostic);
 
 /**
- * \brief Retrieve the kind of the given fix-it.
- *
- * \param Diagnostic the diagnostic whose fix-its are being queried.
- *
- * \param FixIt the zero-based index of the fix-it to query.
- */
-CINDEX_LINKAGE enum CXFixItKind 
-clang_getDiagnosticFixItKind(CXDiagnostic Diagnostic, unsigned FixIt);
-
-/**
- * \brief Retrieve the insertion information for an insertion fix-it.
- *
- * For a fix-it that describes an insertion into a text buffer,
- * retrieve the source location where the text should be inserted and
- * the text to be inserted.
- *
- * \param Diagnostic the diagnostic whose fix-its are being queried.
- *
- * \param FixIt the zero-based index of the insertion fix-it.
- *
- * \param Location will be set to the location where text should be
- * inserted.
- *
- * \returns the text string to insert at the given location.
- */
-CINDEX_LINKAGE CXString
-clang_getDiagnosticFixItInsertion(CXDiagnostic Diagnostic, unsigned FixIt,
-                                  CXSourceLocation *Location);
-
-/**
- * \brief Retrieve the removal information for a removal fix-it.
- *
- * For a fix-it that describes a removal from a text buffer, retrieve
- * the source range that should be removed.
- *
- * \param Diagnostic the diagnostic whose fix-its are being queried.
- *
- * \param FixIt the zero-based index of the removal fix-it.
- *
- * \returns a source range describing the text that should be removed
- * from the buffer.
- */
-CINDEX_LINKAGE CXSourceRange
-clang_getDiagnosticFixItRemoval(CXDiagnostic Diagnostic, unsigned FixIt);
-
-/**
- * \brief Retrieve the replacement information for an replacement fix-it.
- *
- * For a fix-it that describes replacement of text in the text buffer
- * with alternative text.
- *
- * \param Diagnostic the diagnostic whose fix-its are being queried.
+ * \brief Retrieve the replacement information for a given fix-it.
  *
- * \param FixIt the zero-based index of the replacement fix-it.
- *
- * \param Range will be set to the source range whose text should be
- * replaced with the returned text.
- *
- * \returns the text string to use as replacement text.
- */
-CINDEX_LINKAGE CXString
-clang_getDiagnosticFixItReplacement(CXDiagnostic Diagnostic, unsigned FixIt,
-                                    CXSourceRange *Range);
+ * Fix-its are described in terms of a source range whose contents
+ * should be replaced by a string. This approach generalizes over
+ * three kinds of operations: removal of source code (the range covers
+ * the code to be removed and the replacement string is empty),
+ * replacement of source code (the range covers the code to be
+ * replaced and the replacement string provides the new code), and
+ * insertion (both the start and end of the range point at the
+ * insertion location, and the replacement string provides the text to
+ * insert).
+ *
+ * \param Diagnostic The diagnostic whose fix-its are being queried.
+ *
+ * \param FixIt The zero-based index of the fix-it.
+ *
+ * \param ReplacementRange The source range whose contents will be
+ * replaced with the returned replacement string. Note that source
+ * ranges are half-open ranges [a, b), so the source code should be
+ * replaced from a and up to (but not including) b.
+ *
+ * \returns A string containing text that should be replace the source
+ * code indicated by the \c ReplacementRange.
+ */
+CINDEX_LINKAGE CXString clang_getDiagnosticFixIt(CXDiagnostic Diagnostic, 
+                                                 unsigned FixIt,
+                                               CXSourceRange *ReplacementRange);
 
 /**
  * @}
@@ -600,17 +624,13 @@ CINDEX_LINKAGE CXTranslationUnit clang_c
                                          int num_clang_command_line_args,
                                          const char **clang_command_line_args,
                                          unsigned num_unsaved_files,
-                                         struct CXUnsavedFile *unsaved_files,
-                                         CXDiagnosticCallback diag_callback,
-                                         CXClientData diag_client_data);
+                                         struct CXUnsavedFile *unsaved_files);
  
 /**
  * \brief Create a translation unit from an AST file (-emit-ast).
  */
 CINDEX_LINKAGE CXTranslationUnit clang_createTranslationUnit(CXIndex, 
-                                             const char *ast_filename,
-                                             CXDiagnosticCallback diag_callback,
-                                             CXClientData diag_client_data);
+                                             const char *ast_filename);
 
 /**
  * \brief Destroy the specified CXTranslationUnit object.
@@ -764,7 +784,19 @@ enum CXCursorKind {
    * The translation unit cursor exists primarily to act as the root
    * cursor for traversing the contents of a translation unit.
    */
-  CXCursor_TranslationUnit               = 300
+  CXCursor_TranslationUnit               = 300,
+
+  /* Attributes */
+  CXCursor_FirstAttr                     = 400,
+  /**
+   * \brief An attribute whose specific kind is not exposed via this
+   * interface.
+   */
+  CXCursor_UnexposedAttr                 = 400,
+
+  CXCursor_IBActionAttr                  = 401,
+  CXCursor_IBOutletAttr                  = 402,
+  CXCursor_LastAttr                      = CXCursor_IBOutletAttr
 };
 
 /**
@@ -857,6 +889,32 @@ CINDEX_LINKAGE unsigned clang_isInvalid(
 CINDEX_LINKAGE unsigned clang_isTranslationUnit(enum CXCursorKind);
 
 /**
+ * \brief Describe the linkage of the entity referred to by a cursor.
+ */
+enum CXLinkageKind {
+  /** \brief This value indicates that no linkage information is available
+   * for a provided CXCursor. */
+  CXLinkage_Invalid,
+  /**
+   * \brief This is the linkage for variables, parameters, and so on that
+   *  have automatic storage.  This covers normal (non-extern) local variables.
+   */
+  CXLinkage_NoLinkage,
+  /** \brief This is the linkage for static variables and static functions. */
+  CXLinkage_Internal,
+  /** \brief This is the linkage for entities with external linkage that live
+   * in C++ anonymous namespaces.*/
+  CXLinkage_UniqueExternal,
+  /** \brief This is the linkage for entities with true, external linkage. */
+  CXLinkage_External
+};
+
+/**
+ * \brief Determine the linkage of the entity referred to be a given cursor.
+ */
+CINDEX_LINKAGE enum CXLinkageKind clang_getCursorLinkage(CXCursor cursor);
+
+/**
  * @}
  */
 
@@ -1221,7 +1279,7 @@ CINDEX_LINKAGE void clang_disposeTokens(
  */
 
 /* for debug/testing */
-CINDEX_LINKAGE const char *clang_getCursorKindSpelling(enum CXCursorKind Kind);
+CINDEX_LINKAGE CXString clang_getCursorKindSpelling(enum CXCursorKind Kind);
 CINDEX_LINKAGE void clang_getDefinitionSpellingAndExtent(CXCursor,
                                           const char **startBuf,
                                           const char **endBuf,
@@ -1229,7 +1287,7 @@ CINDEX_LINKAGE void clang_getDefinitionS
                                           unsigned *startColumn,
                                           unsigned *endLine,
                                           unsigned *endColumn);
-
+CINDEX_LINKAGE void clang_enableStackTraces(void);
 /**
  * @}
  */
@@ -1313,13 +1371,13 @@ enum CXCompletionChunkKind {
    *   - a Placeholder chunk for "int x"
    *   - an Optional chunk containing the remaining defaulted arguments, e.g.,
    *       - a Comma chunk for ","
-   *       - a Placeholder chunk for "float x"
+   *       - a Placeholder chunk for "float y"
    *       - an Optional chunk containing the last defaulted argument:
    *           - a Comma chunk for ","
    *           - a Placeholder chunk for "double z"
    *   - a RightParen chunk for ")"
    *
-   * There are many ways two handle Optional chunks. Two simple approaches are:
+   * There are many ways to handle Optional chunks. Two simple approaches are:
    *   - Completely ignore optional chunks, in which case the template for the
    *     function "f" would only include the first parameter ("int x").
    *   - Fully expand all optional chunks, in which case the template for the
@@ -1478,7 +1536,7 @@ clang_getCompletionChunkKind(CXCompletio
  *
  * \returns the text associated with the chunk at index \c chunk_number.
  */
-CINDEX_LINKAGE const char *
+CINDEX_LINKAGE CXString
 clang_getCompletionChunkText(CXCompletionString completion_string,
                              unsigned chunk_number);
 
@@ -1613,9 +1671,7 @@ CXCodeCompleteResults *clang_codeComplet
                                           struct CXUnsavedFile *unsaved_files,
                                           const char *complete_filename,
                                           unsigned complete_line,
-                                          unsigned complete_column,
-                                          CXDiagnosticCallback diag_callback,
-                                          CXClientData diag_client_data);
+                                          unsigned complete_column);
 
 /**
  * \brief Free the given set of code-completion results.
@@ -1624,6 +1680,26 @@ CINDEX_LINKAGE
 void clang_disposeCodeCompleteResults(CXCodeCompleteResults *Results);
 
 /**
+ * \brief Determine the number of diagnostics produced prior to the
+ * location where code completion was performed.
+ */
+CINDEX_LINKAGE 
+unsigned clang_codeCompleteGetNumDiagnostics(CXCodeCompleteResults *Results);
+
+/**
+ * \brief Retrieve a diagnostic associated with the given code completion.
+ *
+ * \param Result the code completion results to query.
+ * \param Index the zero-based diagnostic number to retrieve.
+ *
+ * \returns the requested diagnostic. This diagnostic must be freed
+ * via a call to \c clang_disposeDiagnostic().
+ */
+CINDEX_LINKAGE 
+CXDiagnostic clang_codeCompleteGetDiagnostic(CXCodeCompleteResults *Results,
+                                             unsigned Index);
+
+/**
  * @}
  */
 

Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTContext.h	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/include/clang/AST/ASTContext.h	Wed Mar  3 17:28:16 2010	(r204643)
@@ -67,6 +67,28 @@ namespace clang {
 
   namespace Builtin { class Context; }
 
+/// \brief A vector of C++ member functions that is optimized for
+/// storing a single method.
+class CXXMethodVector {
+  /// \brief Storage for the vector.
+  ///
+  /// When the low bit is zero, this is a const CXXMethodDecl *. When the
+  /// low bit is one, this is a std::vector<const CXXMethodDecl *> *.
+  mutable uintptr_t Storage;
+
+  typedef std::vector<const CXXMethodDecl *> vector_type;
+
+public:
+  CXXMethodVector() : Storage(0) { }
+
+  typedef const CXXMethodDecl **iterator;
+  iterator begin() const;
+  iterator end() const;
+
+  void push_back(const CXXMethodDecl *Method);
+  void Destroy();
+};
+
 /// ASTContext - This class holds long-lived AST nodes (such as types and
 /// decls) that can be referred to throughout the semantic analysis of a file.
 class ASTContext {
@@ -219,6 +241,14 @@ class ASTContext {
 
   llvm::DenseMap<FieldDecl *, FieldDecl *> InstantiatedFromUnnamedFieldDecl;
 
+  /// \brief Mapping that stores the methods overridden by a given C++
+  /// member function.
+  ///
+  /// Since most C++ member functions aren't virtual and therefore
+  /// don't override anything, we store the overridden functions in
+  /// this map on the side rather than within the CXXMethodDecl structure.
+  llvm::DenseMap<const CXXMethodDecl *, CXXMethodVector> OverriddenMethods;
+
   TranslationUnitDecl *TUDecl;
 
   /// SourceMgr - The associated SourceManager object.
@@ -310,6 +340,19 @@ public:
 
   void setInstantiatedFromUnnamedFieldDecl(FieldDecl *Inst, FieldDecl *Tmpl);
 
+  // Access to the set of methods overridden by the given C++ method.
+  typedef CXXMethodVector::iterator overridden_cxx_method_iterator;
+  overridden_cxx_method_iterator
+  overridden_methods_begin(const CXXMethodDecl *Method) const;
+
+  overridden_cxx_method_iterator
+  overridden_methods_end(const CXXMethodDecl *Method) const;
+
+  /// \brief Note that the given C++ \p Method overrides the given \p
+  /// Overridden method.
+  void addOverriddenMethod(const CXXMethodDecl *Method, 
+                           const CXXMethodDecl *Overridden);
+  
   TranslationUnitDecl *getTranslationUnitDecl() const { return TUDecl; }
 
 
@@ -529,11 +572,11 @@ public:
   /// list.  isVariadic indicates whether the argument list includes '...'.
   QualType getFunctionType(QualType ResultTy, const QualType *ArgArray,
                            unsigned NumArgs, bool isVariadic,
-                           unsigned TypeQuals, bool hasExceptionSpec = false,
-                           bool hasAnyExceptionSpec = false,
-                           unsigned NumExs = 0, const QualType *ExArray = 0,
-                           bool NoReturn = false,
-                           CallingConv CallConv = CC_Default);
+                           unsigned TypeQuals, bool hasExceptionSpec,
+                           bool hasAnyExceptionSpec,
+                           unsigned NumExs, const QualType *ExArray,
+                           bool NoReturn,
+                           CallingConv CallConv);
 
   /// getTypeDeclType - Return the unique reference to the type for
   /// the specified type declaration.
@@ -882,9 +925,8 @@ public:
                         llvm::SmallVectorImpl<FieldDecl*> &Fields);
 
   void ShallowCollectObjCIvars(const ObjCInterfaceDecl *OI,
-                               llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars,
-                               bool CollectSynthesized = true);
-  void CollectSynthesizedIvars(const ObjCInterfaceDecl *OI,
+                               llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars);
+  void CollectNonClassIvars(const ObjCInterfaceDecl *OI,
                                llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars);
   void CollectProtocolSynthesizedIvars(const ObjCProtocolDecl *PD,
                                llvm::SmallVectorImpl<ObjCIvarDecl*> &Ivars);

Modified: vendor/clang/dist/include/clang/AST/ASTImporter.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTImporter.h	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/include/clang/AST/ASTImporter.h	Wed Mar  3 17:28:16 2010	(r204643)
@@ -156,6 +156,12 @@ namespace clang {
     /// \returns the equivalent identifier in the "to" context.
     IdentifierInfo *Import(IdentifierInfo *FromId);
 
+    /// \brief Import the given Objective-C selector from the "from"
+    /// context into the "to" context.
+    ///
+    /// \returns the equivalent selector in the "to" context.
+    Selector Import(Selector FromSel);
+
     /// \brief Import the given file ID from the "from" context into the 
     /// "to" context.
     ///

Modified: vendor/clang/dist/include/clang/AST/Attr.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Attr.h	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/include/clang/AST/Attr.h	Wed Mar  3 17:28:16 2010	(r204643)
@@ -62,7 +62,8 @@ public:
     FormatArg,
     GNUInline,
     Hiding,
-    IBOutletKind, // Clang-specific.  Use "Kind" suffix to not conflict with
+    IBOutletKind, // Clang-specific. Use "Kind" suffix to not conflict w/ macro.
+    IBActionKind, // Clang-specific. Use "Kind" suffix to not conflict w/ macro.
     Malloc,
     NoDebug,
     NoInline,
@@ -72,8 +73,10 @@ public:
     ObjCException,
     ObjCNSObject,
     Override,
-    CFReturnsRetained,   // Clang/Checker-specific.
-    NSReturnsRetained,   // Clang/Checker-specific.
+    CFReturnsRetained,      // Clang/Checker-specific.
+    CFReturnsNotRetained,   // Clang/Checker-specific.
+    NSReturnsRetained,      // Clang/Checker-specific.
+    NSReturnsNotRetained,   // Clang/Checker-specific.
     Overloadable, // Clang-specific
     Packed,
     PragmaPack,
@@ -91,6 +94,7 @@ public:
     WarnUnusedResult,
     Weak,
     WeakImport,
+    WeakRef,
 
     FIRST_TARGET_ATTRIBUTE,
     DLLExport,
@@ -300,37 +304,38 @@ public:
   static bool classof(const DestructorAttr *A) { return true; }
 };
 
-class GNUInlineAttr : public Attr {
+class IBOutletAttr : public Attr {
 public:
-  GNUInlineAttr() : Attr(GNUInline) {}
+  IBOutletAttr() : Attr(IBOutletKind) {}
 
   virtual Attr *clone(ASTContext &C) const;
 
   // Implement isa/cast/dyncast/etc.
   static bool classof(const Attr *A) {
-    return A->getKind() == GNUInline;
+    return A->getKind() == IBOutletKind;
   }
-  static bool classof(const GNUInlineAttr *A) { return true; }
+  static bool classof(const IBOutletAttr *A) { return true; }
 };
 
-class IBOutletAttr : public Attr {
+class IBActionAttr : public Attr {
 public:
-  IBOutletAttr() : Attr(IBOutletKind) {}
+  IBActionAttr() : Attr(IBActionKind) {}
 
   virtual Attr *clone(ASTContext &C) const;
 
-  // Implement isa/cast/dyncast/etc.
+    // Implement isa/cast/dyncast/etc.
   static bool classof(const Attr *A) {
-    return A->getKind() == IBOutletKind;
+    return A->getKind() == IBActionKind;
   }
-  static bool classof(const IBOutletAttr *A) { return true; }
+  static bool classof(const IBActionAttr *A) { return true; }
 };
 
-DEF_SIMPLE_ATTR(Malloc);
-DEF_SIMPLE_ATTR(NoReturn);
 DEF_SIMPLE_ATTR(AnalyzerNoReturn);
 DEF_SIMPLE_ATTR(Deprecated);
 DEF_SIMPLE_ATTR(Final);
+DEF_SIMPLE_ATTR(GNUInline);
+DEF_SIMPLE_ATTR(Malloc);
+DEF_SIMPLE_ATTR(NoReturn);
 
 class SectionAttr : public AttrWithString {
 public:
@@ -353,6 +358,7 @@ DEF_SIMPLE_ATTR(Unused);
 DEF_SIMPLE_ATTR(Used);
 DEF_SIMPLE_ATTR(Weak);
 DEF_SIMPLE_ATTR(WeakImport);
+DEF_SIMPLE_ATTR(WeakRef);
 DEF_SIMPLE_ATTR(NoThrow);
 DEF_SIMPLE_ATTR(Const);
 DEF_SIMPLE_ATTR(Pure);
@@ -543,7 +549,9 @@ public:
 };
 
 // Checker-specific attributes.
+DEF_SIMPLE_ATTR(CFReturnsNotRetained);
 DEF_SIMPLE_ATTR(CFReturnsRetained);
+DEF_SIMPLE_ATTR(NSReturnsNotRetained);
 DEF_SIMPLE_ATTR(NSReturnsRetained);
 
 // C++0x member checking attributes.

Modified: vendor/clang/dist/include/clang/AST/CXXInheritance.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CXXInheritance.h	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/include/clang/AST/CXXInheritance.h	Wed Mar  3 17:28:16 2010	(r204643)
@@ -16,6 +16,7 @@
 
 #include "clang/AST/DeclarationName.h"
 #include "clang/AST/DeclBase.h"
+#include "clang/AST/DeclCXX.h"
 #include "clang/AST/Type.h"
 #include "clang/AST/TypeOrdering.h"
 #include "llvm/ADT/SmallVector.h"
@@ -159,7 +160,11 @@ class CXXBasePaths {
   friend class CXXRecordDecl;
   
   void ComputeDeclsFound();
-  
+
+  bool lookupInBases(ASTContext &Context, 
+                     const CXXRecordDecl *Record,
+                     CXXRecordDecl::BaseMatchesCallback *BaseMatches, 
+                     void *UserData);
 public:
   typedef std::list<CXXBasePath>::iterator paths_iterator;
   typedef std::list<CXXBasePath>::const_iterator const_paths_iterator;

Modified: vendor/clang/dist/include/clang/AST/CanonicalType.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CanonicalType.h	Wed Mar  3 17:27:15 2010	(r204642)
+++ vendor/clang/dist/include/clang/AST/CanonicalType.h	Wed Mar  3 17:28:16 2010	(r204643)
@@ -120,6 +120,13 @@ public:
     return Stored.isLocalRestrictQualified();
   }
 
+  /// \brief Determines if this canonical type is furthermore
+  /// canonical as a parameter.  The parameter-canonicalization
+  /// process decays arrays to pointers and drops top-level qualifiers.
+  bool isCanonicalAsParam() const {
+    return Stored.isCanonicalAsParam();
+  }
+
   /// \brief Retrieve the unqualified form of this type.
   CanQual<T> getUnqualifiedType() const;
 
@@ -157,6 +164,10 @@ public:
   /// ensure that the given type is a canonical type with the correct
   // (dynamic) type.
   static CanQual<T> CreateUnsafe(QualType Other);
+
+  void Profile(llvm::FoldingSetNodeID &ID) const {
+    ID.AddPointer(getAsOpaquePtr());
+  }
 };
 
 template<typename T, typename U>
@@ -172,6 +183,10 @@ inline bool operator!=(CanQual<T> x, Can
 /// \brief Represents a canonical, potentially-qualified type.
 typedef CanQual<Type> CanQualType;
 
+inline CanQualType Type::getCanonicalTypeUnqualified() const {
+  return CanQualType::CreateUnsafe(getCanonicalTypeInternal());
+}
+
 inline const DiagnosticBuilder &operator<<(const DiagnosticBuilder &DB,

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



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