svn commit: r203955 - in vendor/clang/dist: bindings bindings/python bindings/python/clang bindings/python/examples bindings/python/examples/cindex bindings/python/tests bindings/python/tests/cinde...

Roman Divacky rdivacky at FreeBSD.org
Tue Feb 16 09:31:37 UTC 2010


Author: rdivacky
Date: Tue Feb 16 09:31:36 2010
New Revision: 203955
URL: http://svn.freebsd.org/changeset/base/203955

Log:
  Update clang to r96341.

Added:
  vendor/clang/dist/bindings/
  vendor/clang/dist/bindings/python/
  vendor/clang/dist/bindings/python/README.txt
  vendor/clang/dist/bindings/python/clang/
  vendor/clang/dist/bindings/python/clang/__init__.py
  vendor/clang/dist/bindings/python/clang/cindex.py
  vendor/clang/dist/bindings/python/examples/
  vendor/clang/dist/bindings/python/examples/cindex/
  vendor/clang/dist/bindings/python/examples/cindex/cindex-dump.py
  vendor/clang/dist/bindings/python/examples/cindex/cindex-includes.py
  vendor/clang/dist/bindings/python/tests/
  vendor/clang/dist/bindings/python/tests/__init__.py
  vendor/clang/dist/bindings/python/tests/cindex/
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/header1.h
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/header2.h
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/header3.h
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/hello.cpp
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/include.cpp
  vendor/clang/dist/bindings/python/tests/cindex/INPUTS/parse_arguments.c
  vendor/clang/dist/bindings/python/tests/cindex/__init__.py
  vendor/clang/dist/bindings/python/tests/cindex/test_cursor.py
  vendor/clang/dist/bindings/python/tests/cindex/test_cursor_kind.py
  vendor/clang/dist/bindings/python/tests/cindex/test_diagnostics.py
  vendor/clang/dist/bindings/python/tests/cindex/test_index.py
  vendor/clang/dist/bindings/python/tests/cindex/test_translation_unit.py
  vendor/clang/dist/include/clang/AST/ASTImporter.h
  vendor/clang/dist/include/clang/Analysis/Analyses/PrintfFormatString.h
  vendor/clang/dist/include/clang/Analysis/AnalysisContext.h
  vendor/clang/dist/include/clang/Basic/Linkage.h
  vendor/clang/dist/include/clang/Checker/
  vendor/clang/dist/include/clang/Checker/BugReporter/
  vendor/clang/dist/include/clang/Checker/BugReporter/BugReporter.h
  vendor/clang/dist/include/clang/Checker/BugReporter/BugType.h
  vendor/clang/dist/include/clang/Checker/BugReporter/PathDiagnostic.h
  vendor/clang/dist/include/clang/Checker/Checkers/
  vendor/clang/dist/include/clang/Checker/Checkers/DereferenceChecker.h
  vendor/clang/dist/include/clang/Checker/Checkers/LocalCheckers.h
  vendor/clang/dist/include/clang/Checker/DomainSpecific/
  vendor/clang/dist/include/clang/Checker/DomainSpecific/CocoaConventions.h
  vendor/clang/dist/include/clang/Checker/ManagerRegistry.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/
  vendor/clang/dist/include/clang/Checker/PathSensitive/AnalysisManager.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/BasicValueFactory.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/Checker.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/CheckerVisitor.def
  vendor/clang/dist/include/clang/Checker/PathSensitive/CheckerVisitor.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/ConstraintManager.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/Environment.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/ExplodedGraph.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRAuditor.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRBlockCounter.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/GRExprEngineBuilders.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRSimpleAPICheck.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRState.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRStateTrait.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRSubEngine.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRTransferFuncs.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/GRWorkList.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/MemRegion.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/SVals.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/SValuator.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/Store.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/SummaryManager.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/SymbolManager.h
  vendor/clang/dist/include/clang/Checker/PathSensitive/ValueManager.h
  vendor/clang/dist/lib/AST/ASTDiagnostic.cpp
  vendor/clang/dist/lib/AST/ASTImporter.cpp
  vendor/clang/dist/lib/Analysis/PrintfFormatString.cpp
  vendor/clang/dist/lib/Checker/
  vendor/clang/dist/lib/Checker/AdjustedReturnValueChecker.cpp
  vendor/clang/dist/lib/Checker/ArrayBoundChecker.cpp
  vendor/clang/dist/lib/Checker/AttrNonNullChecker.cpp
  vendor/clang/dist/lib/Checker/BasicConstraintManager.cpp
  vendor/clang/dist/lib/Checker/BasicObjCFoundationChecks.cpp
  vendor/clang/dist/lib/Checker/BasicObjCFoundationChecks.h
  vendor/clang/dist/lib/Checker/BasicStore.cpp
  vendor/clang/dist/lib/Checker/BasicValueFactory.cpp
  vendor/clang/dist/lib/Checker/BugReporter.cpp
  vendor/clang/dist/lib/Checker/BugReporterVisitors.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/CallAndMessageChecker.cpp
  vendor/clang/dist/lib/Checker/CallInliner.cpp
  vendor/clang/dist/lib/Checker/CastToStructChecker.cpp
  vendor/clang/dist/lib/Checker/CheckDeadStores.cpp
  vendor/clang/dist/lib/Checker/CheckObjCDealloc.cpp
  vendor/clang/dist/lib/Checker/CheckObjCInstMethSignature.cpp
  vendor/clang/dist/lib/Checker/CheckObjCUnusedIVars.cpp
  vendor/clang/dist/lib/Checker/CheckSecuritySyntaxOnly.cpp
  vendor/clang/dist/lib/Checker/CheckSizeofPointer.cpp
  vendor/clang/dist/lib/Checker/Checker.cpp
  vendor/clang/dist/lib/Checker/CocoaConventions.cpp
  vendor/clang/dist/lib/Checker/DereferenceChecker.cpp
  vendor/clang/dist/lib/Checker/DivZeroChecker.cpp
  vendor/clang/dist/lib/Checker/Environment.cpp
  vendor/clang/dist/lib/Checker/ExplodedGraph.cpp
  vendor/clang/dist/lib/Checker/FixedAddressChecker.cpp
  vendor/clang/dist/lib/Checker/FlatStore.cpp
  vendor/clang/dist/lib/Checker/GRBlockCounter.cpp
  vendor/clang/dist/lib/Checker/GRCoreEngine.cpp
  vendor/clang/dist/lib/Checker/GRExprEngine.cpp
  vendor/clang/dist/lib/Checker/GRExprEngineExperimentalChecks.cpp
  vendor/clang/dist/lib/Checker/GRExprEngineExperimentalChecks.h
  vendor/clang/dist/lib/Checker/GRExprEngineInternalChecks.h
  vendor/clang/dist/lib/Checker/GRState.cpp
  vendor/clang/dist/lib/Checker/LLVMConventionsChecker.cpp
  vendor/clang/dist/lib/Checker/Makefile
  vendor/clang/dist/lib/Checker/MallocChecker.cpp
  vendor/clang/dist/lib/Checker/ManagerRegistry.cpp
  vendor/clang/dist/lib/Checker/MemRegion.cpp
  vendor/clang/dist/lib/Checker/NSAutoreleasePoolChecker.cpp
  vendor/clang/dist/lib/Checker/NSErrorChecker.cpp
  vendor/clang/dist/lib/Checker/NoReturnFunctionChecker.cpp
  vendor/clang/dist/lib/Checker/OSAtomicChecker.cpp
  vendor/clang/dist/lib/Checker/PathDiagnostic.cpp
  vendor/clang/dist/lib/Checker/PointerArithChecker.cpp
  vendor/clang/dist/lib/Checker/PointerSubChecker.cpp
  vendor/clang/dist/lib/Checker/PthreadLockChecker.cpp
  vendor/clang/dist/lib/Checker/RangeConstraintManager.cpp
  vendor/clang/dist/lib/Checker/RegionStore.cpp
  vendor/clang/dist/lib/Checker/ReturnPointerRangeChecker.cpp
  vendor/clang/dist/lib/Checker/ReturnStackAddressChecker.cpp
  vendor/clang/dist/lib/Checker/ReturnUndefChecker.cpp
  vendor/clang/dist/lib/Checker/SVals.cpp
  vendor/clang/dist/lib/Checker/SValuator.cpp
  vendor/clang/dist/lib/Checker/SimpleConstraintManager.cpp
  vendor/clang/dist/lib/Checker/SimpleConstraintManager.h
  vendor/clang/dist/lib/Checker/SimpleSValuator.cpp
  vendor/clang/dist/lib/Checker/Store.cpp
  vendor/clang/dist/lib/Checker/SymbolManager.cpp
  vendor/clang/dist/lib/Checker/UndefBranchChecker.cpp
  vendor/clang/dist/lib/Checker/UndefCapturedBlockVarChecker.cpp
  vendor/clang/dist/lib/Checker/UndefResultChecker.cpp
  vendor/clang/dist/lib/Checker/UndefinedArraySubscriptChecker.cpp
  vendor/clang/dist/lib/Checker/UndefinedAssignmentChecker.cpp
  vendor/clang/dist/lib/Checker/VLASizeChecker.cpp
  vendor/clang/dist/lib/Checker/ValueManager.cpp
  vendor/clang/dist/lib/Frontend/ASTMerge.cpp
  vendor/clang/dist/test/ASTMerge/
  vendor/clang/dist/test/ASTMerge/Inputs/
  vendor/clang/dist/test/ASTMerge/Inputs/enum1.c
  vendor/clang/dist/test/ASTMerge/Inputs/enum2.c
  vendor/clang/dist/test/ASTMerge/Inputs/function1.c
  vendor/clang/dist/test/ASTMerge/Inputs/function2.c
  vendor/clang/dist/test/ASTMerge/Inputs/interface1.m
  vendor/clang/dist/test/ASTMerge/Inputs/interface2.m
  vendor/clang/dist/test/ASTMerge/Inputs/lit.local.cfg
  vendor/clang/dist/test/ASTMerge/Inputs/struct1.c
  vendor/clang/dist/test/ASTMerge/Inputs/struct2.c
  vendor/clang/dist/test/ASTMerge/Inputs/typedef1.c
  vendor/clang/dist/test/ASTMerge/Inputs/typedef2.c
  vendor/clang/dist/test/ASTMerge/Inputs/var1.c
  vendor/clang/dist/test/ASTMerge/Inputs/var1.h
  vendor/clang/dist/test/ASTMerge/Inputs/var2.c
  vendor/clang/dist/test/ASTMerge/enum.c
  vendor/clang/dist/test/ASTMerge/function.c
  vendor/clang/dist/test/ASTMerge/interface.m
  vendor/clang/dist/test/ASTMerge/struct.c
  vendor/clang/dist/test/ASTMerge/typedef.c
  vendor/clang/dist/test/ASTMerge/var.c
  vendor/clang/dist/test/Analysis/misc-ps-flat-store.c
  vendor/clang/dist/test/CXX/basic/basic.def.odr/p1-var.cpp
  vendor/clang/dist/test/CXX/class.access/p4.cpp
  vendor/clang/dist/test/CXX/class.access/p6.cpp
  vendor/clang/dist/test/CXX/conv/conv.mem/p4.cpp
  vendor/clang/dist/test/CXX/conv/conv.qual/pr6089.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.enum/p5.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.link/p7.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/p6.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.name/p1.cpp
  vendor/clang/dist/test/CXX/lex/lex.literal/lex.ccon/p1.cpp
  vendor/clang/dist/test/CXX/temp/temp.arg/temp.arg.nontype/p1.cpp
  vendor/clang/dist/test/CXX/temp/temp.arg/temp.arg.nontype/p5.cpp
  vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/p6.cpp
  vendor/clang/dist/test/CXX/temp/temp.names/p4.cpp
  vendor/clang/dist/test/CXX/temp/temp.res/temp.local/p1.cpp
  vendor/clang/dist/test/CodeGen/2010-02-09-DbgSelf.m
  vendor/clang/dist/test/CodeGen/2010-02-15-Dbg-MethodStart.m
  vendor/clang/dist/test/CodeGen/debug-info-crash.c
  vendor/clang/dist/test/CodeGenCXX/alloca-align.cpp
  vendor/clang/dist/test/CodeGenCXX/internal-linkage.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle-exprs.cpp
  vendor/clang/dist/test/CodeGenCXX/member-function-pointer-calls.cpp
  vendor/clang/dist/test/CodeGenCXX/member-initializers.cpp
  vendor/clang/dist/test/CodeGenCXX/no-exceptions.cpp
  vendor/clang/dist/test/CodeGenCXX/pointers-to-data-members.cpp
  vendor/clang/dist/test/CodeGenCXX/threadsafe-statics.cpp
  vendor/clang/dist/test/CodeGenCXX/visibility.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-layout.cpp
  vendor/clang/dist/test/CodeGenCXX/vtable-pointer-initialization.cpp
  vendor/clang/dist/test/CodeGenCXX/x86_32-arguments.cpp
  vendor/clang/dist/test/CodeGenObjC/blocks-4.m
  vendor/clang/dist/test/CodeGenObjC/debug-info-crash.m
  vendor/clang/dist/test/CodeGenObjC/objc2-legacy-dispatch.m
  vendor/clang/dist/test/CodeGenObjC/objc2-weak-block-call.m
  vendor/clang/dist/test/CodeGenObjC/unwind-fn.m
  vendor/clang/dist/test/Driver/darwin-iphone-defaults.m
  vendor/clang/dist/test/Driver/rewrite-objc.m
  vendor/clang/dist/test/FixIt/typo-crash.m
  vendor/clang/dist/test/Index/annotate-tokens.c
  vendor/clang/dist/test/Index/cindex-test-inclusions.c
  vendor/clang/dist/test/Index/code-complete-errors.c
  vendor/clang/dist/test/Index/include_test.h
  vendor/clang/dist/test/Index/include_test_2.h
  vendor/clang/dist/test/Index/load-stmts.cpp
  vendor/clang/dist/test/Parser/altivec.c
  vendor/clang/dist/test/Parser/cxx-altivec.cpp
  vendor/clang/dist/test/Preprocessor/mi_opt2.c
  vendor/clang/dist/test/Preprocessor/mi_opt2.h
  vendor/clang/dist/test/Rewriter/blockcast3.mm
  vendor/clang/dist/test/Rewriter/rewrite-block-pointer.mm
  vendor/clang/dist/test/Rewriter/rewrite-cast-ivar-access.mm
  vendor/clang/dist/test/Rewriter/rewrite-category-property.mm
  vendor/clang/dist/test/Rewriter/rewrite-implementation.mm
  vendor/clang/dist/test/Rewriter/rewrite-message-expr.mm
  vendor/clang/dist/test/Rewriter/rewrite-nested-ivar.mm
  vendor/clang/dist/test/Rewriter/rewrite-protocol-qualified.mm
  vendor/clang/dist/test/Rewriter/rewrite-unique-block-api.mm
  vendor/clang/dist/test/Sema/Inputs/
  vendor/clang/dist/test/Sema/Inputs/conversion.h
  vendor/clang/dist/test/Sema/arm-layout.c
  vendor/clang/dist/test/Sema/warn-unused-function.c
  vendor/clang/dist/test/Sema/x86-attr-force-align-arg-pointer.c
  vendor/clang/dist/test/SemaCXX/Inputs/
  vendor/clang/dist/test/SemaCXX/Inputs/lit.local.cfg
  vendor/clang/dist/test/SemaCXX/Inputs/malloc.h
  vendor/clang/dist/test/SemaCXX/builtin-exception-spec.cpp
  vendor/clang/dist/test/SemaCXX/comma.cpp
  vendor/clang/dist/test/SemaCXX/explicit.cpp
  vendor/clang/dist/test/SemaCXX/new-delete-predefined-decl.cpp
  vendor/clang/dist/test/SemaCXX/templated-friend-decl.cpp
  vendor/clang/dist/test/SemaCXX/warn-missing-noreturn.cpp
  vendor/clang/dist/test/SemaCXX/warn-weak-vtables.cpp
  vendor/clang/dist/test/SemaObjC/default-synthesize.m
  vendor/clang/dist/test/SemaObjC/duplicate-property-class-extension.m
  vendor/clang/dist/test/SemaObjC/protocol-warn.m
  vendor/clang/dist/test/SemaObjCXX/reinterpret-cast-objc-pointertype.mm
  vendor/clang/dist/tools/CIndex/CIndexDiagnostic.cpp
  vendor/clang/dist/tools/CIndex/CIndexDiagnostic.h
  vendor/clang/dist/tools/CIndex/CIndexInclusionStack.cpp
  vendor/clang/dist/tools/CIndex/CXSourceLocation.h
  vendor/clang/dist/tools/scan-build/set-xcode-analyzer   (contents, props changed)
  vendor/clang/dist/www/analyzer/dev_cxx.html
  vendor/clang/dist/www/analyzer/images/analyzer_html.png   (contents, props changed)
  vendor/clang/dist/www/analyzer/images/analyzer_xcode.png   (contents, props changed)
  vendor/clang/dist/www/analyzer/images/tree/
  vendor/clang/dist/www/analyzer/images/tree/bullet.gif   (contents, props changed)
  vendor/clang/dist/www/analyzer/images/tree/minus.gif   (contents, props changed)
  vendor/clang/dist/www/analyzer/images/tree/plus.gif   (contents, props changed)
  vendor/clang/dist/www/analyzer/menu.js
  vendor/clang/dist/www/analyzer/scripts/
  vendor/clang/dist/www/analyzer/scripts/dbtree.js
  vendor/clang/dist/www/analyzer/scripts/menu.js
Deleted:
  vendor/clang/dist/include/clang/Analysis/LocalCheckers.h
  vendor/clang/dist/include/clang/Analysis/ManagerRegistry.h
  vendor/clang/dist/include/clang/Analysis/PathDiagnostic.h
  vendor/clang/dist/include/clang/Analysis/PathSensitive/
  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/BasicValueFactory.cpp
  vendor/clang/dist/lib/Analysis/BugReporter.cpp
  vendor/clang/dist/lib/Analysis/BugReporterVisitors.cpp
  vendor/clang/dist/lib/Analysis/BuiltinFunctionChecker.cpp
  vendor/clang/dist/lib/Analysis/CFRefCount.cpp
  vendor/clang/dist/lib/Analysis/CallAndMessageChecker.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/Checker.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/ExplodedGraph.cpp
  vendor/clang/dist/lib/Analysis/FixedAddressChecker.cpp
  vendor/clang/dist/lib/Analysis/GRBlockCounter.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/GRExprEngineExperimentalChecks.h
  vendor/clang/dist/lib/Analysis/GRExprEngineInternalChecks.h
  vendor/clang/dist/lib/Analysis/GRState.cpp
  vendor/clang/dist/lib/Analysis/MallocChecker.cpp
  vendor/clang/dist/lib/Analysis/ManagerRegistry.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/NoReturnFunctionChecker.cpp
  vendor/clang/dist/lib/Analysis/OSAtomicChecker.cpp
  vendor/clang/dist/lib/Analysis/PathDiagnostic.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/SValuator.cpp
  vendor/clang/dist/lib/Analysis/SimpleConstraintManager.cpp
  vendor/clang/dist/lib/Analysis/SimpleConstraintManager.h
  vendor/clang/dist/lib/Analysis/SimpleSValuator.cpp
  vendor/clang/dist/lib/Analysis/Store.cpp
  vendor/clang/dist/lib/Analysis/SymbolManager.cpp
  vendor/clang/dist/lib/Analysis/UndefBranchChecker.cpp
  vendor/clang/dist/lib/Analysis/UndefResultChecker.cpp
  vendor/clang/dist/lib/Analysis/UndefinedArraySubscriptChecker.cpp
  vendor/clang/dist/lib/Analysis/UndefinedAssignmentChecker.cpp
  vendor/clang/dist/lib/Analysis/VLASizeChecker.cpp
  vendor/clang/dist/lib/Analysis/ValueManager.cpp
  vendor/clang/dist/test/CodeGenCXX/PR4890-debug-info-dtor.cpp
  vendor/clang/dist/test/CodeGenCXX/member-pointer-cast.cpp
  vendor/clang/dist/test/CodeGenCXX/member-pointers-zero-init.cpp
  vendor/clang/dist/test/CodeGenObjC/PR4541.m
  vendor/clang/dist/test/CodeGenObjC/PR4894-recursive-debug-crash.m
Modified:
  vendor/clang/dist/clang.xcodeproj/project.pbxproj
  vendor/clang/dist/docs/LanguageExtensions.html
  vendor/clang/dist/docs/UsersManual.html
  vendor/clang/dist/examples/PrintFunctionNames/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/ASTDiagnostic.h
  vendor/clang/dist/include/clang/AST/Attr.h
  vendor/clang/dist/include/clang/AST/CXXInheritance.h
  vendor/clang/dist/include/clang/AST/Decl.h
  vendor/clang/dist/include/clang/AST/DeclBase.h
  vendor/clang/dist/include/clang/AST/DeclCXX.h
  vendor/clang/dist/include/clang/AST/DeclObjC.h
  vendor/clang/dist/include/clang/AST/DeclTemplate.h
  vendor/clang/dist/include/clang/AST/DeclarationName.h
  vendor/clang/dist/include/clang/AST/Expr.h
  vendor/clang/dist/include/clang/AST/ExprCXX.h
  vendor/clang/dist/include/clang/AST/ExprObjC.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/StmtVisitor.h
  vendor/clang/dist/include/clang/AST/Type.h
  vendor/clang/dist/include/clang/AST/TypeNodes.def
  vendor/clang/dist/include/clang/AST/UnresolvedSet.h
  vendor/clang/dist/include/clang/Analysis/Analyses/UninitializedValues.h
  vendor/clang/dist/include/clang/Analysis/Support/Optional.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/DiagnosticCommonKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticDriverKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td
  vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td
  vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
  vendor/clang/dist/include/clang/Basic/LangOptions.h
  vendor/clang/dist/include/clang/Basic/PartialDiagnostic.h
  vendor/clang/dist/include/clang/Basic/SourceManager.h
  vendor/clang/dist/include/clang/Basic/Specifiers.h
  vendor/clang/dist/include/clang/Basic/TargetInfo.h
  vendor/clang/dist/include/clang/Basic/TokenKinds.def
  vendor/clang/dist/include/clang/Basic/Version.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/Tool.h
  vendor/clang/dist/include/clang/Driver/ToolChain.h
  vendor/clang/dist/include/clang/Driver/Types.def
  vendor/clang/dist/include/clang/Frontend/ASTConsumers.h
  vendor/clang/dist/include/clang/Frontend/ASTUnit.h
  vendor/clang/dist/include/clang/Frontend/Analyses.def
  vendor/clang/dist/include/clang/Frontend/CompilerInstance.h
  vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h
  vendor/clang/dist/include/clang/Frontend/FrontendAction.h
  vendor/clang/dist/include/clang/Frontend/FrontendActions.h
  vendor/clang/dist/include/clang/Frontend/FrontendOptions.h
  vendor/clang/dist/include/clang/Frontend/PCHBitCodes.h
  vendor/clang/dist/include/clang/Frontend/PCHReader.h
  vendor/clang/dist/include/clang/Lex/Lexer.h
  vendor/clang/dist/include/clang/Lex/Token.h
  vendor/clang/dist/include/clang/Parse/Action.h
  vendor/clang/dist/include/clang/Parse/DeclSpec.h
  vendor/clang/dist/include/clang/Parse/Parser.h
  vendor/clang/dist/lib/AST/ASTContext.cpp
  vendor/clang/dist/lib/AST/AttrImpl.cpp
  vendor/clang/dist/lib/AST/CMakeLists.txt
  vendor/clang/dist/lib/AST/CXXInheritance.cpp
  vendor/clang/dist/lib/AST/Decl.cpp
  vendor/clang/dist/lib/AST/DeclBase.cpp
  vendor/clang/dist/lib/AST/DeclCXX.cpp
  vendor/clang/dist/lib/AST/DeclObjC.cpp
  vendor/clang/dist/lib/AST/DeclPrinter.cpp
  vendor/clang/dist/lib/AST/DeclTemplate.cpp
  vendor/clang/dist/lib/AST/DeclarationName.cpp
  vendor/clang/dist/lib/AST/Expr.cpp
  vendor/clang/dist/lib/AST/ExprCXX.cpp
  vendor/clang/dist/lib/AST/ExprConstant.cpp
  vendor/clang/dist/lib/AST/Makefile
  vendor/clang/dist/lib/AST/RecordLayoutBuilder.cpp
  vendor/clang/dist/lib/AST/Stmt.cpp
  vendor/clang/dist/lib/AST/StmtDumper.cpp
  vendor/clang/dist/lib/AST/StmtPrinter.cpp
  vendor/clang/dist/lib/AST/StmtProfile.cpp
  vendor/clang/dist/lib/AST/Type.cpp
  vendor/clang/dist/lib/AST/TypePrinter.cpp
  vendor/clang/dist/lib/Analysis/AnalysisContext.cpp
  vendor/clang/dist/lib/Analysis/CMakeLists.txt
  vendor/clang/dist/lib/Analysis/LiveVariables.cpp
  vendor/clang/dist/lib/Analysis/Makefile
  vendor/clang/dist/lib/Analysis/UninitializedValues.cpp
  vendor/clang/dist/lib/Basic/Diagnostic.cpp
  vendor/clang/dist/lib/Basic/IdentifierTable.cpp
  vendor/clang/dist/lib/Basic/Makefile
  vendor/clang/dist/lib/Basic/SourceManager.cpp
  vendor/clang/dist/lib/Basic/TargetInfo.cpp
  vendor/clang/dist/lib/Basic/Targets.cpp
  vendor/clang/dist/lib/Basic/Version.cpp
  vendor/clang/dist/lib/CMakeLists.txt
  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/CGDecl.cpp
  vendor/clang/dist/lib/CodeGen/CGDeclCXX.cpp
  vendor/clang/dist/lib/CodeGen/CGException.cpp
  vendor/clang/dist/lib/CodeGen/CGExpr.cpp
  vendor/clang/dist/lib/CodeGen/CGExprAgg.cpp
  vendor/clang/dist/lib/CodeGen/CGExprCXX.cpp
  vendor/clang/dist/lib/CodeGen/CGExprComplex.cpp
  vendor/clang/dist/lib/CodeGen/CGExprConstant.cpp
  vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp
  vendor/clang/dist/lib/CodeGen/CGObjC.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp
  vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp
  vendor/clang/dist/lib/CodeGen/CGRTTI.cpp
  vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp
  vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.h
  vendor/clang/dist/lib/CodeGen/CGStmt.cpp
  vendor/clang/dist/lib/CodeGen/CGVtable.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenFunction.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenFunction.h
  vendor/clang/dist/lib/CodeGen/CodeGenModule.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenModule.h
  vendor/clang/dist/lib/CodeGen/CodeGenTypes.cpp
  vendor/clang/dist/lib/CodeGen/CodeGenTypes.h
  vendor/clang/dist/lib/CodeGen/GlobalDecl.h
  vendor/clang/dist/lib/CodeGen/Makefile
  vendor/clang/dist/lib/CodeGen/Mangle.cpp
  vendor/clang/dist/lib/CodeGen/TargetInfo.cpp
  vendor/clang/dist/lib/Driver/Driver.cpp
  vendor/clang/dist/lib/Driver/HostInfo.cpp
  vendor/clang/dist/lib/Driver/Makefile
  vendor/clang/dist/lib/Driver/ToolChains.cpp
  vendor/clang/dist/lib/Driver/ToolChains.h
  vendor/clang/dist/lib/Driver/Tools.cpp
  vendor/clang/dist/lib/Driver/Tools.h
  vendor/clang/dist/lib/Frontend/ASTConsumers.cpp
  vendor/clang/dist/lib/Frontend/ASTUnit.cpp
  vendor/clang/dist/lib/Frontend/AnalysisConsumer.cpp
  vendor/clang/dist/lib/Frontend/Backend.cpp
  vendor/clang/dist/lib/Frontend/CMakeLists.txt
  vendor/clang/dist/lib/Frontend/CompilerInstance.cpp
  vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
  vendor/clang/dist/lib/Frontend/FrontendActions.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/Makefile
  vendor/clang/dist/lib/Frontend/PCHReader.cpp
  vendor/clang/dist/lib/Frontend/PCHReaderDecl.cpp
  vendor/clang/dist/lib/Frontend/PCHReaderStmt.cpp
  vendor/clang/dist/lib/Frontend/PCHWriter.cpp
  vendor/clang/dist/lib/Frontend/PCHWriterDecl.cpp
  vendor/clang/dist/lib/Frontend/PCHWriterStmt.cpp
  vendor/clang/dist/lib/Frontend/PlistDiagnostics.cpp
  vendor/clang/dist/lib/Frontend/PrintParserCallbacks.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/Index/Makefile
  vendor/clang/dist/lib/Lex/Lexer.cpp
  vendor/clang/dist/lib/Lex/Makefile
  vendor/clang/dist/lib/Lex/PPCaching.cpp
  vendor/clang/dist/lib/Lex/PPDirectives.cpp
  vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp
  vendor/clang/dist/lib/Lex/Preprocessor.cpp
  vendor/clang/dist/lib/Makefile
  vendor/clang/dist/lib/Parse/DeclSpec.cpp
  vendor/clang/dist/lib/Parse/Makefile
  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/Makefile
  vendor/clang/dist/lib/Sema/IdentifierResolver.cpp
  vendor/clang/dist/lib/Sema/Lookup.h
  vendor/clang/dist/lib/Sema/Makefile
  vendor/clang/dist/lib/Sema/Sema.cpp
  vendor/clang/dist/lib/Sema/Sema.h
  vendor/clang/dist/lib/Sema/SemaAccess.cpp
  vendor/clang/dist/lib/Sema/SemaCXXCast.cpp
  vendor/clang/dist/lib/Sema/SemaCXXScopeSpec.cpp
  vendor/clang/dist/lib/Sema/SemaChecking.cpp
  vendor/clang/dist/lib/Sema/SemaCodeComplete.cpp
  vendor/clang/dist/lib/Sema/SemaDecl.cpp
  vendor/clang/dist/lib/Sema/SemaDeclAttr.cpp
  vendor/clang/dist/lib/Sema/SemaDeclCXX.cpp
  vendor/clang/dist/lib/Sema/SemaDeclObjC.cpp
  vendor/clang/dist/lib/Sema/SemaExceptionSpec.cpp
  vendor/clang/dist/lib/Sema/SemaExpr.cpp
  vendor/clang/dist/lib/Sema/SemaExprCXX.cpp
  vendor/clang/dist/lib/Sema/SemaExprObjC.cpp
  vendor/clang/dist/lib/Sema/SemaInit.cpp
  vendor/clang/dist/lib/Sema/SemaInit.h
  vendor/clang/dist/lib/Sema/SemaLookup.cpp
  vendor/clang/dist/lib/Sema/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/Analysis/CFDateGC.m
  vendor/clang/dist/test/Analysis/CFNumber.c
  vendor/clang/dist/test/Analysis/CFRetainRelease_NSAssertionHandler.m
  vendor/clang/dist/test/Analysis/CGColorSpace.c
  vendor/clang/dist/test/Analysis/CheckNSError.m
  vendor/clang/dist/test/Analysis/MissingDealloc.m
  vendor/clang/dist/test/Analysis/NSPanel.m
  vendor/clang/dist/test/Analysis/NSString.m
  vendor/clang/dist/test/Analysis/NSWindow.m
  vendor/clang/dist/test/Analysis/NoReturn.m
  vendor/clang/dist/test/Analysis/ObjCProperties.m
  vendor/clang/dist/test/Analysis/ObjCRetSigs.m
  vendor/clang/dist/test/Analysis/PR2599.m
  vendor/clang/dist/test/Analysis/PR2978.m
  vendor/clang/dist/test/Analysis/PR3991.m
  vendor/clang/dist/test/Analysis/array-struct.c
  vendor/clang/dist/test/Analysis/blocks.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/cfref_rdar6080742.c
  vendor/clang/dist/test/Analysis/complex.c
  vendor/clang/dist/test/Analysis/concrete-address.c
  vendor/clang/dist/test/Analysis/conditional-op-missing-lhs.c
  vendor/clang/dist/test/Analysis/dead-stores.c
  vendor/clang/dist/test/Analysis/dead-stores.cpp
  vendor/clang/dist/test/Analysis/dead-stores.m
  vendor/clang/dist/test/Analysis/delegates.m
  vendor/clang/dist/test/Analysis/elementtype.c
  vendor/clang/dist/test/Analysis/exercise-ps.c
  vendor/clang/dist/test/Analysis/fields.c
  vendor/clang/dist/test/Analysis/func.c
  vendor/clang/dist/test/Analysis/malloc.c
  vendor/clang/dist/test/Analysis/misc-ps-64.m
  vendor/clang/dist/test/Analysis/misc-ps-basic-store.m
  vendor/clang/dist/test/Analysis/misc-ps-eager-assume.m
  vendor/clang/dist/test/Analysis/misc-ps-ranges.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store-i386.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store-x86_64.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store.cpp
  vendor/clang/dist/test/Analysis/misc-ps-region-store.m
  vendor/clang/dist/test/Analysis/misc-ps-region-store.mm
  vendor/clang/dist/test/Analysis/misc-ps.m
  vendor/clang/dist/test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m
  vendor/clang/dist/test/Analysis/no-exit-cfg.c
  vendor/clang/dist/test/Analysis/no-outofbounds.c
  vendor/clang/dist/test/Analysis/null-deref-ps-region.c
  vendor/clang/dist/test/Analysis/null-deref-ps.c
  vendor/clang/dist/test/Analysis/outofbound.c
  vendor/clang/dist/test/Analysis/override-werror.c
  vendor/clang/dist/test/Analysis/plist-output.m
  vendor/clang/dist/test/Analysis/pr4209.m
  vendor/clang/dist/test/Analysis/pr_2542_rdar_6793404.m
  vendor/clang/dist/test/Analysis/pr_4164.c
  vendor/clang/dist/test/Analysis/ptr-arith.c
  vendor/clang/dist/test/Analysis/rdar-6442306-1.m
  vendor/clang/dist/test/Analysis/rdar-6540084.m
  vendor/clang/dist/test/Analysis/rdar-6541136-region.c
  vendor/clang/dist/test/Analysis/rdar-6541136.c
  vendor/clang/dist/test/Analysis/rdar-6562655.m
  vendor/clang/dist/test/Analysis/rdar-6582778-basic-store.c
  vendor/clang/dist/test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m
  vendor/clang/dist/test/Analysis/rdar-7168531.m
  vendor/clang/dist/test/Analysis/refcnt_naming.m
  vendor/clang/dist/test/Analysis/reference.cpp
  vendor/clang/dist/test/Analysis/region-1.m
  vendor/clang/dist/test/Analysis/retain-release-basic-store.m
  vendor/clang/dist/test/Analysis/retain-release-gc-only.m
  vendor/clang/dist/test/Analysis/retain-release-region-store.m
  vendor/clang/dist/test/Analysis/retain-release.m
  vendor/clang/dist/test/Analysis/security-syntax-checks-no-emit.c
  vendor/clang/dist/test/Analysis/security-syntax-checks.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/uninit-vals-ps-region.c
  vendor/clang/dist/test/Analysis/uninit-vals-ps.c
  vendor/clang/dist/test/Analysis/uninit-vals.m
  vendor/clang/dist/test/Analysis/unions-region.m
  vendor/clang/dist/test/Analysis/unused-ivars.m
  vendor/clang/dist/test/CMakeLists.txt
  vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.elab/templateid.cpp
  vendor/clang/dist/test/CXX/class.access/class.access.base/p1.cpp
  vendor/clang/dist/test/CXX/class/class.local/p2.cpp
  vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.fct.spec/p6.cpp
  vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-var.cpp
  vendor/clang/dist/test/CXX/expr/p8.cpp
  vendor/clang/dist/test/CXX/temp/temp.decls/temp.mem/p5.cpp
  vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.arg.explicit/p3.cpp
  vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/temp.deduct.call/basic.cpp
  vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
  vendor/clang/dist/test/CodeGen/address-space-field1.c
  vendor/clang/dist/test/CodeGen/arm-arguments.c
  vendor/clang/dist/test/CodeGen/attributes.c
  vendor/clang/dist/test/CodeGen/darwin-string-literals.c
  vendor/clang/dist/test/CodeGen/enum.c
  vendor/clang/dist/test/CodeGen/function-attributes.c
  vendor/clang/dist/test/CodeGen/stdcall-fastcall.c
  vendor/clang/dist/test/CodeGen/union.c
  vendor/clang/dist/test/CodeGenCXX/anonymous-namespaces.cpp
  vendor/clang/dist/test/CodeGenCXX/attr.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/const-init.cpp
  vendor/clang/dist/test/CodeGenCXX/conversion-function.cpp
  vendor/clang/dist/test/CodeGenCXX/debug-info.cpp
  vendor/clang/dist/test/CodeGenCXX/default-destructor-synthesis.cpp
  vendor/clang/dist/test/CodeGenCXX/deferred-global-init.cpp
  vendor/clang/dist/test/CodeGenCXX/derived-to-base.cpp
  vendor/clang/dist/test/CodeGenCXX/dyncast.cpp
  vendor/clang/dist/test/CodeGenCXX/extern-c.cpp
  vendor/clang/dist/test/CodeGenCXX/global-init.cpp
  vendor/clang/dist/test/CodeGenCXX/global-llvm-constant.cpp
  vendor/clang/dist/test/CodeGenCXX/mangle.cpp
  vendor/clang/dist/test/CodeGenCXX/member-function-pointers.cpp
  vendor/clang/dist/test/CodeGenCXX/reference-init.cpp
  vendor/clang/dist/test/CodeGenCXX/references.cpp
  vendor/clang/dist/test/CodeGenCXX/static-data-member.cpp
  vendor/clang/dist/test/CodeGenCXX/static-init.cpp
  vendor/clang/dist/test/CodeGenCXX/temp-order.cpp
  vendor/clang/dist/test/CodeGenCXX/temporaries.cpp
  vendor/clang/dist/test/CodeGenCXX/throw-expressions.cpp
  vendor/clang/dist/test/CodeGenCXX/virt.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-bases.cpp
  vendor/clang/dist/test/CodeGenCXX/virtual-function-calls.cpp
  vendor/clang/dist/test/CodeGenObjC/id-isa-codegen.m
  vendor/clang/dist/test/CodeGenObjC/image-info.m
  vendor/clang/dist/test/Coverage/html-diagnostics.c
  vendor/clang/dist/test/Driver/darwin-ld.c
  vendor/clang/dist/test/Driver/darwin-version.c
  vendor/clang/dist/test/FixIt/fixit.cpp
  vendor/clang/dist/test/FixIt/typo.m
  vendor/clang/dist/test/Index/TestClassDecl.m
  vendor/clang/dist/test/Index/TestClassForwardDecl.m
  vendor/clang/dist/test/Index/c-index-api-loadTU-test.m
  vendor/clang/dist/test/Index/c-index-getCursor-test.m
  vendor/clang/dist/test/Index/cindex-from-source.m
  vendor/clang/dist/test/Index/load-exprs.c
  vendor/clang/dist/test/Index/remap-cursor-at.c
  vendor/clang/dist/test/Index/remap-load.c
  vendor/clang/dist/test/Misc/caret-diags-macros.c
  vendor/clang/dist/test/PCH/cxx_exprs.cpp
  vendor/clang/dist/test/PCH/cxx_exprs.h
  vendor/clang/dist/test/Parser/cxx-decl.cpp
  vendor/clang/dist/test/Parser/cxx-template-decl.cpp
  vendor/clang/dist/test/Parser/declarators.c
  vendor/clang/dist/test/Parser/objc-property-syntax.m
  vendor/clang/dist/test/Parser/statements.c
  vendor/clang/dist/test/Preprocessor/init.c
  vendor/clang/dist/test/Rewriter/rewrite-byref-vars.mm
  vendor/clang/dist/test/Rewriter/rewrite-typeof.mm
  vendor/clang/dist/test/Sema/asm.c
  vendor/clang/dist/test/Sema/attr-mode.c
  vendor/clang/dist/test/Sema/attr-noreturn.c
  vendor/clang/dist/test/Sema/block-args.c
  vendor/clang/dist/test/Sema/block-printf-attribute-1.c
  vendor/clang/dist/test/Sema/block-return.c
  vendor/clang/dist/test/Sema/builtin-unary-fp.c
  vendor/clang/dist/test/Sema/callingconv.c
  vendor/clang/dist/test/Sema/compare.c
  vendor/clang/dist/test/Sema/const-eval.c
  vendor/clang/dist/test/Sema/conversion.c
  vendor/clang/dist/test/Sema/declspec.c
  vendor/clang/dist/test/Sema/enum.c
  vendor/clang/dist/test/Sema/format-string-percentm.c
  vendor/clang/dist/test/Sema/format-strings.c
  vendor/clang/dist/test/Sema/function-redecl.c
  vendor/clang/dist/test/Sema/incomplete-decl.c
  vendor/clang/dist/test/Sema/indirect-goto.c
  vendor/clang/dist/test/Sema/return-noreturn.c
  vendor/clang/dist/test/Sema/return.c
  vendor/clang/dist/test/Sema/scope-check.c
  vendor/clang/dist/test/Sema/statements.c
  vendor/clang/dist/test/Sema/stdcall-fastcall.c
  vendor/clang/dist/test/Sema/switch.c
  vendor/clang/dist/test/Sema/ucn-cstring.c
  vendor/clang/dist/test/Sema/unused-expr.c
  vendor/clang/dist/test/Sema/vla.c
  vendor/clang/dist/test/SemaCXX/access-base-class.cpp
  vendor/clang/dist/test/SemaCXX/access-control-check.cpp
  vendor/clang/dist/test/SemaCXX/aggregate-initialization.cpp
  vendor/clang/dist/test/SemaCXX/builtins.cpp
  vendor/clang/dist/test/SemaCXX/cast-conversion.cpp
  vendor/clang/dist/test/SemaCXX/conditional-expr.cpp
  vendor/clang/dist/test/SemaCXX/constructor-initializer.cpp
  vendor/clang/dist/test/SemaCXX/copy-assignment.cpp
  vendor/clang/dist/test/SemaCXX/dcl_ambig_res.cpp
  vendor/clang/dist/test/SemaCXX/dcl_init_aggr.cpp
  vendor/clang/dist/test/SemaCXX/decl-init-ref.cpp
  vendor/clang/dist/test/SemaCXX/enum.cpp
  vendor/clang/dist/test/SemaCXX/i-c-e-cxx.cpp
  vendor/clang/dist/test/SemaCXX/illegal-member-initialization.cpp
  vendor/clang/dist/test/SemaCXX/namespace-alias.cpp
  vendor/clang/dist/test/SemaCXX/nested-name-spec.cpp
  vendor/clang/dist/test/SemaCXX/new-delete.cpp
  vendor/clang/dist/test/SemaCXX/overload-call-copycon.cpp
  vendor/clang/dist/test/SemaCXX/overload-call.cpp
  vendor/clang/dist/test/SemaCXX/overload-member-call.cpp
  vendor/clang/dist/test/SemaCXX/overloaded-operator-decl.cpp
  vendor/clang/dist/test/SemaCXX/overloaded-operator.cpp
  vendor/clang/dist/test/SemaCXX/references.cpp
  vendor/clang/dist/test/SemaCXX/reinterpret-cast.cpp
  vendor/clang/dist/test/SemaCXX/static-cast.cpp
  vendor/clang/dist/test/SemaCXX/using-decl-1.cpp
  vendor/clang/dist/test/SemaCXX/virtual-override.cpp
  vendor/clang/dist/test/SemaCXX/warn-unused-variables.cpp
  vendor/clang/dist/test/SemaObjC/cocoa.m
  vendor/clang/dist/test/SemaObjC/exprs.m
  vendor/clang/dist/test/SemaObjC/format-strings-objc.m
  vendor/clang/dist/test/SemaObjC/method-arg-decay.m
  vendor/clang/dist/test/SemaObjC/property-13.m
  vendor/clang/dist/test/SemaObjC/property-not-lvalue.m
  vendor/clang/dist/test/SemaTemplate/deduction.cpp
  vendor/clang/dist/test/SemaTemplate/default-expr-arguments.cpp
  vendor/clang/dist/test/SemaTemplate/explicit-instantiation.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-decl-init.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-declref-ice.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-declref.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-expr-1.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-expr-4.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-local-class.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-member-initializers.cpp
  vendor/clang/dist/test/SemaTemplate/instantiate-member-template.cpp
  vendor/clang/dist/test/SemaTemplate/member-function-template.cpp
  vendor/clang/dist/test/SemaTemplate/qualified-id.cpp
  vendor/clang/dist/test/SemaTemplate/recursive-template-instantiation.cpp
  vendor/clang/dist/test/SemaTemplate/temp_arg_nontype.cpp
  vendor/clang/dist/test/SemaTemplate/temp_class_spec.cpp
  vendor/clang/dist/test/SemaTemplate/template-id-expr.cpp
  vendor/clang/dist/test/SemaTemplate/typename-specifier-4.cpp
  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/CIndexUSRs.cpp
  vendor/clang/dist/tools/CIndex/CIndexer.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/CIndex/Makefile
  vendor/clang/dist/tools/c-index-test/Makefile
  vendor/clang/dist/tools/c-index-test/c-index-test.c
  vendor/clang/dist/tools/driver/CMakeLists.txt
  vendor/clang/dist/tools/driver/Makefile
  vendor/clang/dist/tools/driver/cc1_main.cpp
  vendor/clang/dist/tools/scan-build/ccc-analyzer
  vendor/clang/dist/tools/scan-build/scan-build
  vendor/clang/dist/utils/ABITest/ABITestGen.py
  vendor/clang/dist/utils/ABITest/TypeGen.py
  vendor/clang/dist/www/analyzer/annotations.html
  vendor/clang/dist/www/analyzer/available_checks.html
  vendor/clang/dist/www/analyzer/content.css
  vendor/clang/dist/www/analyzer/filing_bugs.html
  vendor/clang/dist/www/analyzer/index.html
  vendor/clang/dist/www/analyzer/installation.html
  vendor/clang/dist/www/analyzer/latest_checker.html.incl
  vendor/clang/dist/www/analyzer/menu.css
  vendor/clang/dist/www/analyzer/menu.html.incl
  vendor/clang/dist/www/analyzer/scan-build.html
  vendor/clang/dist/www/comparison.html
  vendor/clang/dist/www/cxx_status.html
  vendor/clang/dist/www/diagnostics.html
  vendor/clang/dist/www/index.html

Added: vendor/clang/dist/bindings/python/README.txt
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/bindings/python/README.txt	Tue Feb 16 09:31:36 2010	(r203955)
@@ -0,0 +1,18 @@
+//===----------------------------------------------------------------------===//
+// Clang Python Bindings
+//===----------------------------------------------------------------------===//
+
+This directory implements Python bindings for Clang. Currently, only bindings
+for the CIndex C API exist.
+
+You may need to alter LD_LIBRARY_PATH so that the CIndex library can be
+found. The unit tests are designed to be run with 'nosetests'. For example:
+--
+$ env PYTHONPATH=$(echo ~/llvm/tools/clang/bindings/python/) \
+      LD_LIBRARY_PATH=$(llvm-config --libdir) \
+  nosetests -v
+tests.cindex.test_index.test_create ... ok
+...
+
+OK
+--

Added: vendor/clang/dist/bindings/python/clang/__init__.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/bindings/python/clang/__init__.py	Tue Feb 16 09:31:36 2010	(r203955)
@@ -0,0 +1,24 @@
+#===- __init__.py - Clang Python Bindings --------------------*- python -*--===#
+#
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+#===------------------------------------------------------------------------===#
+
+r"""
+Clang Library Bindings
+======================
+
+This package provides access to the Clang compiler and libraries.
+
+The available modules are:
+
+  cindex
+
+    Bindings for the Clang indexing library.
+"""
+
+__all__ = ['cindex']
+

Added: vendor/clang/dist/bindings/python/clang/cindex.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/bindings/python/clang/cindex.py	Tue Feb 16 09:31:36 2010	(r203955)
@@ -0,0 +1,933 @@
+#===- cindex.py - Python Indexing Library Bindings -----------*- python -*--===#
+#
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+#===------------------------------------------------------------------------===#
+
+r"""
+Clang Indexing Library Bindings
+===============================
+
+This module provides an interface to the Clang indexing library. It is a
+low-level interface to the indexing library which attempts to match the Clang
+API directly while also being "pythonic". Notable differences from the C API
+are:
+
+ * string results are returned as Python strings, not CXString objects.
+
+ * null cursors are translated to None.
+
+ * access to child cursors is done via iteration, not visitation.
+
+The major indexing objects are:
+
+  Index
+
+    The top-level object which manages some global library state.
+
+  TranslationUnit
+
+    High-level object encapsulating the AST for a single translation unit. These
+    can be loaded from .ast files or parsed on the fly.
+
+  Cursor
+
+    Generic object for representing a node in the AST.
+
+  SourceRange, SourceLocation, and File
+
+    Objects representing information about the input source.
+
+Most object information is exposed using properties, when the underlying API
+call is efficient.
+"""
+
+# TODO
+# ====
+#
+# o API support for invalid translation units. Currently we can't even get the
+#   diagnostics on failure because they refer to locations in an object that
+#   will have been invalidated.
+#
+# o fix memory management issues (currently client must hold on to index and
+#   translation unit, or risk crashes).
+#
+# o expose code completion APIs.
+#
+# o cleanup ctypes wrapping, would be nice to separate the ctypes details more
+#   clearly, and hide from the external interface (i.e., help(cindex)).
+#
+# o implement additional SourceLocation, SourceRange, and File methods.
+
+from ctypes import *
+
+def get_cindex_library():
+    # FIXME: It's probably not the case that the library is actually found in
+    # this location. We need a better system of identifying and loading the
+    # CIndex library. It could be on path or elsewhere, or versioned, etc.
+    import platform
+    name = platform.system()
+    if name == 'Darwin':
+        return cdll.LoadLibrary('libCIndex.dylib')
+    elif name == 'Windows':
+        return cdll.LoadLibrary('libCIndex.dll')
+    else:
+        return cdll.LoadLibrary('libCIndex.so')
+
+# ctypes doesn't implicitly convert c_void_p to the appropriate wrapper
+# object. This is a problem, because it means that from_parameter will see an
+# integer and pass the wrong value on platforms where int != void*. Work around
+# this by marshalling object arguments as void**.
+c_object_p = POINTER(c_void_p)
+
+lib = get_cindex_library()
+
+### Structures and Utility Classes ###
+
+class _CXString(Structure):
+    """Helper for transforming CXString results."""
+
+    _fields_ = [("spelling", c_char_p), ("free", c_int)]
+
+    def __del__(self):
+        _CXString_dispose(self)
+
+    @staticmethod
+    def from_result(res, fn, args):
+        assert isinstance(res, _CXString)
+        return _CXString_getCString(res)
+
+class SourceLocation(Structure):
+    """
+    A SourceLocation represents a particular location within a source file.
+    """
+    _fields_ = [("ptr_data", c_void_p * 2), ("int_data", c_uint)]
+    _data = None
+
+    def _get_instantiation(self):
+        if self._data is None:
+            f, l, c, o = c_object_p(), c_uint(), c_uint(), c_uint()
+            SourceLocation_loc(self, byref(f), byref(l), byref(c), byref(o))
+            f = File(f) if f else None
+            self._data = (f, int(l.value), int(c.value), int(c.value))
+        return self._data
+
+    @property
+    def file(self):
+        """Get the file represented by this source location."""
+        return self._get_instantiation()[0]
+
+    @property
+    def line(self):
+        """Get the line represented by this source location."""
+        return self._get_instantiation()[1]
+
+    @property
+    def column(self):
+        """Get the column represented by this source location."""
+        return self._get_instantiation()[2]
+
+    @property
+    def offset(self):
+        """Get the file offset represented by this source location."""
+        return self._get_instantiation()[3]
+
+    def __repr__(self):
+        return "<SourceLocation file %r, line %r, column %r>" % (
+            self.file.name if self.file else None, self.line, self.column)
+
+class SourceRange(Structure):
+    """
+    A SourceRange describes a range of source locations within the source
+    code.
+    """
+    _fields_ = [
+        ("ptr_data", c_void_p * 2),
+        ("begin_int_data", c_uint),
+        ("end_int_data", c_uint)]
+
+    # FIXME: Eliminate this and make normal constructor? Requires hiding ctypes
+    # object.
+    @staticmethod
+    def from_locations(start, end):
+        return SourceRange_getRange(start, end)
+
+    @property
+    def start(self):
+        """
+        Return a SourceLocation representing the first character within a
+        source range.
+        """
+        return SourceRange_start(self)
+
+    @property
+    def end(self):
+        """
+        Return a SourceLocation representing the last character within a
+        source range.
+        """
+        return SourceRange_end(self)
+
+    def __repr__(self):
+        return "<SourceRange start %r, end %r>" % (self.start, self.end)
+
+class Diagnostic(object):
+    """
+    A Diagnostic is a single instance of a Clang diagnostic. It includes the
+    diagnostic severity, the message, the location the diagnostic occurred, as
+    well as additional source ranges and associated fix-it hints.
+    """
+
+    Ignored = 0
+    Note    = 1
+    Warning = 2
+    Error   = 3
+    Fatal   = 4
+
+    def __init__(self, severity, location, spelling, ranges, fixits):
+        self.severity = severity
+        self.location = location
+        self.spelling = spelling
+        self.ranges = ranges
+        self.fixits = fixits
+
+    def __repr__(self):
+        return "<Diagnostic severity %r, location %r, spelling %r>" % (
+            self.severity, self.location, self.spelling)
+
+class FixIt(object):
+    """
+    A FixIt represents a transformation to be applied to the source to
+    "fix-it". The fix-it shouldbe applied by replacing the given source range
+    with the given value.
+    """
+
+    def __init__(self, range, value):
+        self.range = range
+        self.value = value
+
+    def __repr__(self):
+        return "<FixIt range %r, value %r>" % (self.range, self.value)
+
+### Cursor Kinds ###
+
+class CursorKind(object):
+    """
+    A CursorKind describes the kind of entity that a cursor points to.
+    """
+
+    # The unique kind objects, indexed by id.
+    _kinds = []
+    _name_map = None
+
+    def __init__(self, value):
+        if value >= len(CursorKind._kinds):
+            CursorKind._kinds += [None] * (value - len(CursorKind._kinds) + 1)
+        if CursorKind._kinds[value] is not None:
+            raise ValueError,'CursorKind already loaded'
+        self.value = value
+        CursorKind._kinds[value] = self
+        CursorKind._name_map = None
+
+    def from_param(self):
+        return self.value
+
+    @property
+    def name(self):
+        """Get the enumeration name of this cursor kind."""
+        if self._name_map is None:
+            self._name_map = {}
+            for key,value in CursorKind.__dict__.items():
+                if isinstance(value,CursorKind):
+                    self._name_map[value] = key
+        return self._name_map[self]
+
+    @staticmethod
+    def from_id(id):
+        if id >= len(CursorKind._kinds) or CursorKind._kinds[id] is None:
+            raise ValueError,'Unknown cursor kind'
+        return CursorKind._kinds[id]
+
+    @staticmethod
+    def get_all_kinds():
+        """Return all CursorKind enumeration instances."""
+        return filter(None, CursorKind._kinds)
+
+    def is_declaration(self):
+        """Test if this is a declaration kind."""
+        return CursorKind_is_decl(self)
+
+    def is_reference(self):
+        """Test if this is a reference kind."""
+        return CursorKind_is_ref(self)
+
+    def is_expression(self):
+        """Test if this is an expression kind."""
+        return CursorKind_is_expr(self)
+
+    def is_statement(self):
+        """Test if this is a statement kind."""
+        return CursorKind_is_stmt(self)
+
+    def is_invalid(self):
+        """Test if this is an invalid kind."""
+        return CursorKind_is_inv(self)
+
+    def __repr__(self):
+        return 'CursorKind.%s' % (self.name,)
+
+# FIXME: Is there a nicer way to expose this enumeration? We could potentially
+# represent the nested structure, or even build a class hierarchy. The main
+# things we want for sure are (a) simple external access to kinds, (b) a place
+# to hang a description and name, (c) easy to keep in sync with Index.h.
+
+###
+# Declaration Kinds
+
+# A declaration whose specific kind is not exposed via this interface.
+#
+# Unexposed declarations have the same operations as any other kind of
+# declaration; one can extract their location information, spelling, find their
+# definitions, etc. However, the specific kind of the declaration is not
+# reported.
+CursorKind.UNEXPOSED_DECL = CursorKind(1)
+
+# A C or C++ struct.
+CursorKind.STRUCT_DECL = CursorKind(2)
+
+# A C or C++ union.
+CursorKind.UNION_DECL = CursorKind(3)
+
+# A C++ class.
+CursorKind.CLASS_DECL = CursorKind(4)
+
+# An enumeration.
+CursorKind.ENUM_DECL = CursorKind(5)
+
+# A field (in C) or non-static data member (in C++) in a struct, union, or C++
+# class.
+CursorKind.FIELD_DECL = CursorKind(6)
+
+# An enumerator constant.
+CursorKind.ENUM_CONSTANT_DECL = CursorKind(7)
+
+# A function.
+CursorKind.FUNCTION_DECL = CursorKind(8)
+
+# A variable.
+CursorKind.VAR_DECL = CursorKind(9)
+
+# A function or method parameter.
+CursorKind.PARM_DECL = CursorKind(10)
+
+# An Objective-C @interface.
+CursorKind.OBJC_INTERFACE_DECL = CursorKind(11)
+
+# An Objective-C @interface for a category.
+CursorKind.OBJC_CATEGORY_DECL = CursorKind(12)
+
+# An Objective-C @protocol declaration.
+CursorKind.OBJC_PROTOCOL_DECL = CursorKind(13)
+
+# An Objective-C @property declaration.
+CursorKind.OBJC_PROPERTY_DECL = CursorKind(14)
+
+# An Objective-C instance variable.
+CursorKind.OBJC_IVAR_DECL = CursorKind(15)
+
+# An Objective-C instance method.
+CursorKind.OBJC_INSTANCE_METHOD_DECL = CursorKind(16)
+
+# An Objective-C class method.
+CursorKind.OBJC_CLASS_METHOD_DECL = CursorKind(17)
+
+# An Objective-C @implementation.
+CursorKind.OBJC_IMPLEMENTATION_DECL = CursorKind(18)
+
+# An Objective-C @implementation for a category.
+CursorKind.OBJC_CATEGORY_IMPL_DECL = CursorKind(19)
+
+# A typedef.
+CursorKind.TYPEDEF_DECL = CursorKind(20)
+
+###
+# Reference Kinds
+
+CursorKind.OBJC_SUPER_CLASS_REF = CursorKind(40)
+CursorKind.OBJC_PROTOCOL_REF = CursorKind(41)
+CursorKind.OBJC_CLASS_REF = CursorKind(42)
+
+# A reference to a type declaration.
+#
+# A type reference occurs anywhere where a type is named but not
+# declared. For example, given:
+#   typedef unsigned size_type;
+#   size_type size;
+#
+# The typedef is a declaration of size_type (CXCursor_TypedefDecl),
+# while the type of the variable "size" is referenced. The cursor
+# referenced by the type of size is the typedef for size_type.
+CursorKind.TYPE_REF = CursorKind(43)
+
+###
+# Invalid/Error Kinds
+
+CursorKind.INVALID_FILE = CursorKind(70)
+CursorKind.NO_DECL_FOUND = CursorKind(71)
+CursorKind.NOT_IMPLEMENTED = CursorKind(72)
+
+###
+# Expression Kinds
+
+# An expression whose specific kind is not exposed via this interface.
+#
+# Unexposed expressions have the same operations as any other kind of
+# expression; one can extract their location information, spelling, children,
+# etc. However, the specific kind of the expression is not reported.
+CursorKind.UNEXPOSED_EXPR = CursorKind(100)
+
+# An expression that refers to some value declaration, such as a function,
+# varible, or enumerator.
+CursorKind.DECL_REF_EXPR = CursorKind(101)
+
+# An expression that refers to a member of a struct, union, class, Objective-C
+# class, etc.
+CursorKind.MEMBER_REF_EXPR = CursorKind(102)
+
+# An expression that calls a function.
+CursorKind.CALL_EXPR = CursorKind(103)
+
+# An expression that sends a message to an Objective-C object or class.
+CursorKind.OBJC_MESSAGE_EXPR = CursorKind(104)
+
+# A statement whose specific kind is not exposed via this interface.
+#
+# Unexposed statements have the same operations as any other kind of statement;
+# one can extract their location information, spelling, children, etc. However,
+# the specific kind of the statement is not reported.
+CursorKind.UNEXPOSED_STMT = CursorKind(200)
+
+###
+# Other Kinds
+
+# Cursor that represents the translation unit itself.
+#
+# The translation unit cursor exists primarily to act as the root cursor for
+# traversing the contents of a translation unit.
+CursorKind.TRANSLATION_UNIT = CursorKind(300)
+
+### Cursors ###
+
+class Cursor(Structure):
+    """
+    The Cursor class represents a reference to an element within the AST. It
+    acts as a kind of iterator.
+    """
+    _fields_ = [("_kind_id", c_int), ("data", c_void_p * 3)]
+
+    def __eq__(self, other):
+        return Cursor_eq(self, other)
+
+    def __ne__(self, other):
+        return not Cursor_eq(self, other)
+
+    def is_definition(self):
+        """
+        Returns true if the declaration pointed at by the cursor is also a
+        definition of that entity.
+        """
+        return Cursor_is_def(self)
+
+    def get_definition(self):
+        """
+        If the cursor is a reference to a declaration or a declaration of
+        some entity, return a cursor that points to the definition of that
+        entity.
+        """
+        # TODO: Should probably check that this is either a reference or
+        # declaration prior to issuing the lookup.
+        return Cursor_def(self)
+
+    def get_usr(self):
+        """Return the Unified Symbol Resultion (USR) for the entity referenced
+        by the given cursor (or None).
+
+        A Unified Symbol Resolution (USR) is a string that identifies a
+        particular entity (function, class, variable, etc.) within a
+        program. USRs can be compared across translation units to determine,
+        e.g., when references in one translation refer to an entity defined in
+        another translation unit."""
+        return Cursor_usr(self)
+
+    @property
+    def kind(self):
+        """Return the kind of this cursor."""
+        return CursorKind.from_id(self._kind_id)
+
+    @property
+    def spelling(self):
+        """Return the spelling of the entity pointed at by the cursor."""
+        if not self.kind.is_declaration():
+            # FIXME: clang_getCursorSpelling should be fixed to not assert on
+            # this, for consistency with clang_getCursorUSR.
+            return None
+        return Cursor_spelling(self)
+
+    @property
+    def location(self):
+        """
+        Return the source location (the starting character) of the entity
+        pointed at by the cursor.
+        """
+        return Cursor_loc(self)
+
+    @property
+    def extent(self):
+        """
+        Return the source range (the range of text) occupied by the entity
+        pointed at by the cursor.
+        """
+        return Cursor_extent(self)
+
+    def get_children(self):
+        """Return an iterator for accessing the children of this cursor."""
+
+        # FIXME: Expose iteration from CIndex, PR6125.
+        def visitor(child, parent, children):
+            # FIXME: Document this assertion in API.
+            # FIXME: There should just be an isNull method.
+            assert child != Cursor_null()
+            children.append(child)
+            return 1 # continue
+        children = []
+        Cursor_visit(self, Cursor_visit_callback(visitor), children)
+        return iter(children)
+
+    @staticmethod
+    def from_result(res, fn, args):
+        assert isinstance(res, Cursor)
+        # FIXME: There should just be an isNull method.
+        if res == Cursor_null():
+            return None
+        return res
+
+## CIndex Objects ##
+
+# CIndex objects (derived from ClangObject) are essentially lightweight
+# wrappers attached to some underlying object, which is exposed via CIndex as
+# a void*.
+
+class ClangObject(object):
+    """
+    A helper for Clang objects. This class helps act as an intermediary for
+    the ctypes library and the Clang CIndex library.
+    """
+    def __init__(self, obj):
+        assert isinstance(obj, c_object_p) and obj
+        self.obj = self._as_parameter_ = obj
+
+    def from_param(self):
+        return self._as_parameter_
+
+
+class _CXUnsavedFile(Structure):
+    """Helper for passing unsaved file arguments."""
+    _fields_ = [("name", c_char_p), ("contents", c_char_p), ('length', c_ulong)]
+
+## Diagnostic Conversion ##
+
+# Diagnostic objects are temporary, we must extract all the information from the
+# diagnostic object when it is passed to the callback.
+
+_clang_getDiagnosticSeverity = lib.clang_getDiagnosticSeverity
+_clang_getDiagnosticSeverity.argtypes = [c_object_p]
+_clang_getDiagnosticSeverity.restype = c_int
+
+_clang_getDiagnosticLocation = lib.clang_getDiagnosticLocation
+_clang_getDiagnosticLocation.argtypes = [c_object_p]
+_clang_getDiagnosticLocation.restype = SourceLocation
+
+_clang_getDiagnosticSpelling = lib.clang_getDiagnosticSpelling
+_clang_getDiagnosticSpelling.argtypes = [c_object_p]
+_clang_getDiagnosticSpelling.restype = _CXString
+_clang_getDiagnosticSpelling.errcheck = _CXString.from_result
+
+_clang_getDiagnosticNumRanges = lib.clang_getDiagnosticNumRanges
+_clang_getDiagnosticNumRanges.argtypes = [c_object_p]
+_clang_getDiagnosticNumRanges.restype = c_uint
+
+_clang_getDiagnosticRange = lib.clang_getDiagnosticRange
+_clang_getDiagnosticRange.argtypes = [c_object_p, c_uint]
+_clang_getDiagnosticRange.restype = SourceRange
+
+_clang_getDiagnosticNumFixIts = lib.clang_getDiagnosticNumFixIts
+_clang_getDiagnosticNumFixIts.argtypes = [c_object_p]
+_clang_getDiagnosticNumFixIts.restype = c_uint
+
+_clang_getDiagnosticFixItKind = lib.clang_getDiagnosticFixItKind
+_clang_getDiagnosticFixItKind.argtypes = [c_object_p, c_uint]
+_clang_getDiagnosticFixItKind.restype = c_int
+
+_clang_getDiagnosticFixItInsertion = lib.clang_getDiagnosticFixItInsertion
+_clang_getDiagnosticFixItInsertion.argtypes = [c_object_p, c_uint,
+                                               POINTER(SourceLocation)]
+_clang_getDiagnosticFixItInsertion.restype = _CXString
+_clang_getDiagnosticFixItInsertion.errcheck = _CXString.from_result
+
+_clang_getDiagnosticFixItRemoval = lib.clang_getDiagnosticFixItRemoval
+_clang_getDiagnosticFixItRemoval.argtypes = [c_object_p, c_uint,
+                                             POINTER(SourceLocation)]
+_clang_getDiagnosticFixItRemoval.restype = _CXString
+_clang_getDiagnosticFixItRemoval.errcheck = _CXString.from_result
+
+_clang_getDiagnosticFixItReplacement = lib.clang_getDiagnosticFixItReplacement
+_clang_getDiagnosticFixItReplacement.argtypes = [c_object_p, c_uint,
+                                                 POINTER(SourceRange)]
+_clang_getDiagnosticFixItReplacement.restype = _CXString
+_clang_getDiagnosticFixItReplacement.errcheck = _CXString.from_result
+
+def _convert_fixit(diag_ptr, index):
+    # We normalize all the fix-its to a single representation, this is more
+    # convenient.
+    #
+    # FIXME: Push this back into API? It isn't exactly clear what the
+    # SourceRange semantics are, we should make sure we can represent an empty
+    # range.
+    kind = _clang_getDiagnosticFixItKind(diag_ptr, index)
+    range = None
+    value = None
+    if kind == 0: # insertion
+        location = SourceLocation()
+        value = _clang_getDiagnosticFixItInsertion(diag_ptr, index,
+                                                   byref(location))
+        range = SourceRange.from_locations(location, location)
+    elif kind == 1: # removal
+        range = _clang_getDiagnosticFixItRemoval(diag_ptr, index)
+        value = ''
+    else: # replacement
+        assert kind == 2
+        range = SourceRange()
+        value = _clang_getDiagnosticFixItReplacement(diag_ptr, index,
+                                                     byref(range))
+    return FixIt(range, value)
+
+def _convert_diag(diag_ptr, diag_list):
+    severity = _clang_getDiagnosticSeverity(diag_ptr)
+    loc = _clang_getDiagnosticLocation(diag_ptr)
+    spelling = _clang_getDiagnosticSpelling(diag_ptr)
+
+    # Diagnostic ranges.
+    num_ranges = _clang_getDiagnosticNumRanges(diag_ptr)
+    ranges = [_clang_getDiagnosticRange(diag_ptr, i)
+              for i in range(num_ranges)]
+
+    fixits = [_convert_fixit(diag_ptr, i)
+              for i in range(_clang_getDiagnosticNumFixIts(diag_ptr))]
+
+    diag_list.append(Diagnostic(severity, loc, spelling, ranges, fixits))
+
+###
+
+class Index(ClangObject):
+    """
+    The Index type provides the primary interface to the Clang CIndex library,
+    primarily by providing an interface for reading and parsing translation
+    units.
+    """
+
+    @staticmethod
+    def create(excludeDecls=False):
+        """
+        Create a new Index.
+        Parameters:
+        excludeDecls -- Exclude local declarations from translation units.
+        """
+        return Index(Index_create(excludeDecls))
+
+    def __del__(self):
+        Index_dispose(self)
+
+    def read(self, path):
+        """Load the translation unit from the given AST file."""
+        # FIXME: In theory, we could support streaming diagnostics. It's hard to
+        # integrate this into the API cleanly, however. Resolve.
+        diags = []
+        ptr = TranslationUnit_read(self, path,
+                                   Diagnostic_callback(_convert_diag), diags)
+        return TranslationUnit(ptr) if ptr else None
+
+    def parse(self, path, args = [], unsaved_files = []):
+        """
+        Load the translation unit from the given source code file by running
+        clang and generating the AST before loading. Additional command line
+        parameters can be passed to clang via the args parameter.
+
+        In-memory contents for files can be provided by passing a list of pairs
+        to as unsaved_files, the first item should be the filenames to be mapped
+        and the second should be the contents to be substituted for the
+        file. The contents may be passed as strings or file objects.
+        """
+        arg_array = 0
+        if len(args):
+            arg_array = (c_char_p * len(args))(* args)
+        unsaved_files_array = 0
+        if len(unsaved_files):
+            unsaved_files_array = (_CXUnsavedFile * len(unsaved_files))()
+            for i,(name,value) in enumerate(unsaved_files):
+                if not isinstance(value, str):
+                    # FIXME: It would be great to support an efficient version
+                    # of this, one day.
+                    value = value.read()
+                    print value
+                if not isinstance(value, str):
+                    raise TypeError,'Unexpected unsaved file contents.'
+                unsaved_files_array[i].name = name
+                unsaved_files_array[i].contents = value
+                unsaved_files_array[i].length = len(value)
+        # FIXME: In theory, we could support streaming diagnostics. It's hard to
+        # integrate this into the API cleanly, however. Resolve.
+        diags = []
+        ptr = TranslationUnit_parse(self, path, len(args), arg_array,
+                                    len(unsaved_files), unsaved_files_array,
+                                    Diagnostic_callback(_convert_diag), diags)
+        return TranslationUnit(ptr, diags) if ptr else None
+
+
+class TranslationUnit(ClangObject):
+    """
+    The TranslationUnit class represents a source code translation unit and
+    provides read-only access to its top-level declarations.
+    """
+
+    def __init__(self, ptr, diagnostics):
+        ClangObject.__init__(self, ptr)
+        self.diagnostics = diagnostics
+
+    def __del__(self):
+        TranslationUnit_dispose(self)
+
+    @property
+    def cursor(self):
+        """Retrieve the cursor that represents the given translation unit."""
+        return TranslationUnit_cursor(self)
+
+    @property
+    def spelling(self):
+        """Get the original translation unit source file name."""
+        return TranslationUnit_spelling(self)
+
+    def get_includes(self):
+        """
+        Return an iterable sequence of FileInclusion objects that describe the
+        sequence of inclusions in a translation unit. The first object in
+        this sequence is always the input file. Note that this method will not
+        recursively iterate over header files included through precompiled
+        headers.
+        """
+        def visitor(fobj, lptr, depth, includes):
+            loc = lptr.contents
+            includes.append(FileInclusion(loc.file, File(fobj), loc, depth))
+
+        # Automatically adapt CIndex/ctype pointers to python objects
+        includes = []
+        TranslationUnit_includes(self,
+                                 TranslationUnit_includes_callback(visitor),
+                                 includes)
+        return iter(includes)
+
+class File(ClangObject):
+    """
+    The File class represents a particular source file that is part of a
+    translation unit.
+    """
+
+    @property
+    def name(self):
+        """Return the complete file and path name of the file."""
+        return File_name(self)
+
+    @property
+    def time(self):
+        """Return the last modification time of the file."""
+        return File_time(self)
+
+class FileInclusion(object):
+    """
+    The FileInclusion class represents the inclusion of one source file by
+    another via a '#include' directive or as the input file for the translation
+    unit. This class provides information about the included file, the including
+    file, the location of the '#include' directive and the depth of the included
+    file in the stack. Note that the input file has depth 0.
+    """
+
+    def __init__(self, src, tgt, loc, depth):
+        self.source = src
+        self.include = tgt
+        self.location = loc
+        self.depth = depth
+
+    @property
+    def is_input_file(self):
+        """True if the included file is the input file."""
+        return self.depth == 0
+
+# Additional Functions and Types
+
+# String Functions
+_CXString_dispose = lib.clang_disposeString
+_CXString_dispose.argtypes = [_CXString]
+
+_CXString_getCString = lib.clang_getCString
+_CXString_getCString.argtypes = [_CXString]
+_CXString_getCString.restype = c_char_p
+
+# Source Location Functions
+SourceLocation_loc = lib.clang_getInstantiationLocation
+SourceLocation_loc.argtypes = [SourceLocation, POINTER(c_object_p),
+                               POINTER(c_uint), POINTER(c_uint),
+                               POINTER(c_uint)]
+
+# Source Range Functions
+SourceRange_getRange = lib.clang_getRange
+SourceRange_getRange.argtypes = [SourceLocation, SourceLocation]
+SourceRange_getRange.restype = SourceRange
+
+SourceRange_start = lib.clang_getRangeStart
+SourceRange_start.argtypes = [SourceRange]
+SourceRange_start.restype = SourceLocation
+
+SourceRange_end = lib.clang_getRangeEnd
+SourceRange_end.argtypes = [SourceRange]
+SourceRange_end.restype = SourceLocation
+
+# CursorKind Functions
+CursorKind_is_decl = lib.clang_isDeclaration
+CursorKind_is_decl.argtypes = [CursorKind]
+CursorKind_is_decl.restype = bool
+
+CursorKind_is_ref = lib.clang_isReference
+CursorKind_is_ref.argtypes = [CursorKind]
+CursorKind_is_ref.restype = bool
+
+CursorKind_is_expr = lib.clang_isExpression
+CursorKind_is_expr.argtypes = [CursorKind]
+CursorKind_is_expr.restype = bool
+
+CursorKind_is_stmt = lib.clang_isStatement
+CursorKind_is_stmt.argtypes = [CursorKind]
+CursorKind_is_stmt.restype = bool
+
+CursorKind_is_inv = lib.clang_isInvalid
+CursorKind_is_inv.argtypes = [CursorKind]
+CursorKind_is_inv.restype = bool
+
+# Cursor Functions
+# TODO: Implement this function
+Cursor_get = lib.clang_getCursor
+Cursor_get.argtypes = [TranslationUnit, SourceLocation]
+Cursor_get.restype = Cursor
+
+Cursor_null = lib.clang_getNullCursor
+Cursor_null.restype = Cursor
+
+Cursor_usr = lib.clang_getCursorUSR
+Cursor_usr.argtypes = [Cursor]
+Cursor_usr.restype = _CXString
+Cursor_usr.errcheck = _CXString.from_result
+
+Cursor_is_def = lib.clang_isCursorDefinition
+Cursor_is_def.argtypes = [Cursor]
+Cursor_is_def.restype = bool
+
+Cursor_def = lib.clang_getCursorDefinition
+Cursor_def.argtypes = [Cursor]
+Cursor_def.restype = Cursor
+Cursor_def.errcheck = Cursor.from_result
+
+Cursor_eq = lib.clang_equalCursors
+Cursor_eq.argtypes = [Cursor, Cursor]
+Cursor_eq.restype = c_uint
+
+Cursor_spelling = lib.clang_getCursorSpelling
+Cursor_spelling.argtypes = [Cursor]
+Cursor_spelling.restype = _CXString
+Cursor_spelling.errcheck = _CXString.from_result
+
+Cursor_loc = lib.clang_getCursorLocation
+Cursor_loc.argtypes = [Cursor]
+Cursor_loc.restype = SourceLocation
+
+Cursor_extent = lib.clang_getCursorExtent
+Cursor_extent.argtypes = [Cursor]
+Cursor_extent.restype = SourceRange
+
+Cursor_ref = lib.clang_getCursorReferenced
+Cursor_ref.argtypes = [Cursor]
+Cursor_ref.restype = Cursor
+Cursor_ref.errcheck = Cursor.from_result
+
+Cursor_visit_callback = CFUNCTYPE(c_int, Cursor, Cursor, py_object)
+Cursor_visit = lib.clang_visitChildren
+Cursor_visit.argtypes = [Cursor, Cursor_visit_callback, py_object]
+Cursor_visit.restype = c_uint
+
+# Index Functions
+Index_create = lib.clang_createIndex
+Index_create.argtypes = [c_int]
+Index_create.restype = c_object_p
+
+Index_dispose = lib.clang_disposeIndex
+Index_dispose.argtypes = [Index]
+
+# Translation Unit Functions
+Diagnostic_callback = CFUNCTYPE(None, c_object_p, py_object)
+
+TranslationUnit_read = lib.clang_createTranslationUnit
+TranslationUnit_read.argtypes = [Index, c_char_p,
+                                 Diagnostic_callback, py_object]
+TranslationUnit_read.restype = c_object_p
+
+TranslationUnit_parse = lib.clang_createTranslationUnitFromSourceFile
+TranslationUnit_parse.argtypes = [Index, c_char_p, c_int, c_void_p,
+                                  c_int, c_void_p,
+                                  Diagnostic_callback, py_object]
+TranslationUnit_parse.restype = c_object_p
+
+TranslationUnit_cursor = lib.clang_getTranslationUnitCursor
+TranslationUnit_cursor.argtypes = [TranslationUnit]
+TranslationUnit_cursor.restype = Cursor
+TranslationUnit_cursor.errcheck = Cursor.from_result
+
+TranslationUnit_spelling = lib.clang_getTranslationUnitSpelling
+TranslationUnit_spelling.argtypes = [TranslationUnit]
+TranslationUnit_spelling.restype = _CXString
+TranslationUnit_spelling.errcheck = _CXString.from_result
+
+TranslationUnit_dispose = lib.clang_disposeTranslationUnit
+TranslationUnit_dispose.argtypes = [TranslationUnit]
+
+TranslationUnit_includes_callback = CFUNCTYPE(None,
+                                              c_object_p,
+                                              POINTER(SourceLocation),
+                                              c_uint, py_object)
+TranslationUnit_includes = lib.clang_getInclusions
+TranslationUnit_includes.argtypes = [TranslationUnit,
+                                     TranslationUnit_includes_callback,
+                                     py_object]
+
+# File Functions
+File_name = lib.clang_getFileName
+File_name.argtypes = [File]
+File_name.restype = c_char_p
+
+File_time = lib.clang_getFileTime
+File_time.argtypes = [File]
+File_time.restype = c_uint
+
+###
+
+__all__ = ['Index', 'TranslationUnit', 'Cursor', 'CursorKind',
+           'Diagnostic', 'FixIt', 'SourceRange', 'SourceLocation', 'File']

Added: vendor/clang/dist/bindings/python/examples/cindex/cindex-dump.py
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ vendor/clang/dist/bindings/python/examples/cindex/cindex-dump.py	Tue Feb 16 09:31:36 2010	(r203955)
@@ -0,0 +1,87 @@
+#!/usr/bin/env python
+
+#===- cindex-dump.py - cindex/Python Source Dump -------------*- python -*--===#
+#
+#                     The LLVM Compiler Infrastructure
+#
+# This file is distributed under the University of Illinois Open Source
+# License. See LICENSE.TXT for details.
+#
+#===------------------------------------------------------------------------===#
+
+"""
+A simple command line tool for dumping a source file using the Clang Index

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


More information about the svn-src-all mailing list