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...
Roman Divacky
rdivacky at FreeBSD.org
Wed Mar 3 17:28:17 UTC 2010
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 ***
More information about the svn-src-all
mailing list