svn commit: r223015 - in vendor/clang/dist: . clang.xcodeproj docs
examples examples/Tooling examples/Tooling/RemoveCStrCalls
examples/clang-interpreter examples/wpa include/clang-c
include/clang/A...
Dimitry Andric
dim at FreeBSD.org
Sun Jun 12 15:46:17 UTC 2011
Author: dim
Date: Sun Jun 12 15:46:16 2011
New Revision: 223015
URL: http://svn.freebsd.org/changeset/base/223015
Log:
Vendor import of clang trunk r132879:
http://llvm.org/svn/llvm-project/cfe/trunk@132879
Added:
vendor/clang/dist/examples/Tooling/RemoveCStrCalls/
vendor/clang/dist/test/Analysis/misc-ps-cxx0x.cpp
vendor/clang/dist/test/Analysis/misc-ps.c
vendor/clang/dist/test/Analysis/retain-release.mm
vendor/clang/dist/test/CXX/class/class.mem/p5-0x.cpp
vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.stc/p1.cpp
vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.type.elab/p2-0x.cpp
vendor/clang/dist/test/CXX/dcl.decl/dcl.init/dcl.init.aggr/p1-0x.cpp
vendor/clang/dist/test/CXX/dcl.decl/dcl.init/p14-0x.cpp
vendor/clang/dist/test/CXX/expr/expr.const/p2-0x.cpp
vendor/clang/dist/test/CXX/expr/expr.post/expr.call/p7-0x.cpp
vendor/clang/dist/test/CXX/expr/expr.prim/p12-0x.cpp
vendor/clang/dist/test/CXX/expr/expr.prim/p4-0x.cpp
vendor/clang/dist/test/CXX/special/class.ctor/p5-0x.cpp
vendor/clang/dist/test/CXX/special/class.dtor/p3-0x.cpp
vendor/clang/dist/test/CXX/special/class.init/class.base.init/p8-0x.cpp
vendor/clang/dist/test/CXX/special/class.init/class.base.init/p9-0x.cpp
vendor/clang/dist/test/CXX/stmt.stmt/stmt.dcl/p3-0x.cpp
vendor/clang/dist/test/CXX/stmt.stmt/stmt.dcl/p3.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/p3.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.alias/p1.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.alias/p2.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.alias/p3.cpp
vendor/clang/dist/test/CXX/temp/temp.fct.spec/temp.deduct/cwg1170.cpp
vendor/clang/dist/test/CXX/temp/temp.param/p10-0x.cpp
vendor/clang/dist/test/CXX/temp/temp.res/temp.dep/temp.dep.type/p1.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/examples.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p5-example.cpp
vendor/clang/dist/test/CXX/temp/temp.type/p1-0x.cpp
vendor/clang/dist/test/CodeGen/arm-asm.c
vendor/clang/dist/test/CodeGen/asm-label.c
vendor/clang/dist/test/CodeGen/avx-cmp-builtins.c
vendor/clang/dist/test/CodeGen/byval-memcpy-elim.c
vendor/clang/dist/test/CodeGen/ms_struct-bitfield-1.c
vendor/clang/dist/test/CodeGen/ms_struct-bitfield-2.c
vendor/clang/dist/test/CodeGen/ms_struct-bitfield-3.c
vendor/clang/dist/test/CodeGen/ms_struct-pack.c
vendor/clang/dist/test/CodeGen/ms_struct.c
vendor/clang/dist/test/CodeGenCXX/abstract-class-ctors-dtors.cpp
vendor/clang/dist/test/CodeGenCXX/cxx0x-defaulted-templates.cpp
vendor/clang/dist/test/CodeGenCXX/debug-info-pubtypes.cpp
vendor/clang/dist/test/CodeGenCXX/instrument-functions.cpp
vendor/clang/dist/test/CodeGenCXX/mangle-alias-template.cpp
vendor/clang/dist/test/CodeGenCXX/mangle-unnameable-conversions.cpp
vendor/clang/dist/test/CodeGenCXX/member-init-ctor.cpp
vendor/clang/dist/test/CodeGenCXX/pr9965.cpp
vendor/clang/dist/test/CodeGenCXX/scoped-enums.cpp
vendor/clang/dist/test/CodeGenCXX/skip-vtable-pointer-initialization.cpp
vendor/clang/dist/test/CodeGenCXX/vararg-non-pod.cpp
vendor/clang/dist/test/CodeGenObjC/constant-string-class-1.m
vendor/clang/dist/test/CodeGenObjC/debug-info-block-helper.m
vendor/clang/dist/test/CodeGenObjC/debug-info-blocks.m
vendor/clang/dist/test/CodeGenObjC/debug-info-class-extension.m
vendor/clang/dist/test/CodeGenObjC/debug-info-class-extension2.m
vendor/clang/dist/test/CodeGenObjC/debug-info-class-extension3.m
vendor/clang/dist/test/CodeGenObjC/debug-info-pubtypes.m
vendor/clang/dist/test/CodeGenObjC/debug-property-synth.m
vendor/clang/dist/test/CodeGenObjC/forward-decl-param.m
vendor/clang/dist/test/CodeGenObjCXX/block-in-template-inst.mm
vendor/clang/dist/test/Driver/cfi.c
vendor/clang/dist/test/Driver/nostdlib.c
vendor/clang/dist/test/Driver/sysroot.c
vendor/clang/dist/test/Frontend/undef.c
vendor/clang/dist/test/Index/Inputs/guarded.h
vendor/clang/dist/test/Index/Inputs/pragma-once.h
vendor/clang/dist/test/Index/nested-macro-instantiations.cpp
vendor/clang/dist/test/Lexer/has_extension.c
vendor/clang/dist/test/Lexer/has_extension_cxx.cpp
vendor/clang/dist/test/Lexer/has_feature_c1x.c
vendor/clang/dist/test/Misc/diag-format.c
vendor/clang/dist/test/PCH/cxx-alias-decl.cpp
vendor/clang/dist/test/PCH/cxx-alias-decl.h
vendor/clang/dist/test/PCH/cxx-member-init.cpp
vendor/clang/dist/test/PCH/cxx0x-default-delete.cpp
vendor/clang/dist/test/PCH/cxx0x-delegating-ctors.cpp
vendor/clang/dist/test/PCH/modified-header-error.c
vendor/clang/dist/test/Parser/cxx-default-delete.cpp
vendor/clang/dist/test/Parser/cxx-ext-delete-default.cpp
vendor/clang/dist/test/Parser/cxx0x-member-initializers.cpp
vendor/clang/dist/test/Parser/nested-namespaces-recovery.cpp
vendor/clang/dist/test/Parser/opencl-astype.cl
vendor/clang/dist/test/Sema/parentheses.cpp
vendor/clang/dist/test/SemaCXX/PR9884.cpp
vendor/clang/dist/test/SemaCXX/PR9902.cpp
vendor/clang/dist/test/SemaCXX/PR9908.cpp
vendor/clang/dist/test/SemaCXX/alias-template.cpp
vendor/clang/dist/test/SemaCXX/cxx0x-cursory-default-delete.cpp
vendor/clang/dist/test/SemaCXX/cxx0x-defaulted-functions.cpp
vendor/clang/dist/test/SemaCXX/cxx0x-deleted-default-ctor.cpp
vendor/clang/dist/test/SemaCXX/cxx0x-nontrivial-union.cpp
vendor/clang/dist/test/SemaCXX/default-arg-special-member.cpp
vendor/clang/dist/test/SemaCXX/defaulted-ctor-loop.cpp
vendor/clang/dist/test/SemaCXX/dependent-noexcept-unevaluated.cpp
vendor/clang/dist/test/SemaCXX/generalized-initializers.cpp
vendor/clang/dist/test/SemaCXX/implicit-exception-spec.cpp
vendor/clang/dist/test/SemaCXX/member-init.cpp
vendor/clang/dist/test/SemaCXX/redeclared-alias-template.cpp
vendor/clang/dist/test/SemaCXX/tag-ambig.cpp
vendor/clang/dist/test/SemaCXX/underlying_type.cpp
vendor/clang/dist/test/SemaCXX/warn-bad-memaccess.cpp
vendor/clang/dist/test/SemaCXX/warn-pure-virtual-call-from-ctor-dtor.cpp
vendor/clang/dist/test/SemaObjC/gc-attributes.m
vendor/clang/dist/test/SemaObjC/related-result-type-inference.m
vendor/clang/dist/test/SemaObjCXX/gc-attributes.mm
vendor/clang/dist/test/SemaObjCXX/namespace-lookup.mm
vendor/clang/dist/test/SemaObjCXX/nullptr.mm
vendor/clang/dist/test/SemaObjCXX/related-result-type-inference.mm
vendor/clang/dist/test/SemaTemplate/alias-church-numerals.cpp
vendor/clang/dist/test/SemaTemplate/alias-nested-nontag.cpp
vendor/clang/dist/test/SemaTemplate/alias-template-template-param.cpp
vendor/clang/dist/test/SemaTemplate/alias-templates.cpp
vendor/clang/dist/test/SemaTemplate/dependent-names-no-std.cpp
vendor/clang/dist/test/SemaTemplate/rdar9173693.cpp
vendor/clang/dist/test/Tooling/
Deleted:
vendor/clang/dist/docs/doxygen.cfg
vendor/clang/dist/docs/libIndex.html
vendor/clang/dist/examples/Tooling/CMakeLists.txt
vendor/clang/dist/examples/Tooling/ClangCheck.cpp
vendor/clang/dist/examples/Tooling/Makefile
vendor/clang/dist/include/clang/Tooling/Tooling.h
vendor/clang/dist/lib/Frontend/DiagChecker.cpp
vendor/clang/dist/lib/Tooling/CMakeLists.txt
vendor/clang/dist/lib/Tooling/JsonCompileCommandLineDatabase.cpp
vendor/clang/dist/lib/Tooling/JsonCompileCommandLineDatabase.h
vendor/clang/dist/lib/Tooling/Makefile
vendor/clang/dist/lib/Tooling/Tooling.cpp
vendor/clang/dist/test/CodeGenObjC/unwind-fn.m
vendor/clang/dist/test/PCH/cxx-static_assert.h
vendor/clang/dist/test/SemaCXX/deleted-function-extension.cpp
vendor/clang/dist/test/SemaCXX/warn-non-pod-memset.cpp
vendor/clang/dist/unittests/Tooling/JsonCompileCommandLineDatabaseTest.cpp
vendor/clang/dist/unittests/Tooling/ToolingTest.cpp
vendor/clang/dist/www/CheckerNotes.html
vendor/clang/dist/www/StaticAnalysis.html
vendor/clang/dist/www/StaticAnalysisUsage.html
vendor/clang/dist/www/clang-tutorial.html
vendor/clang/dist/www/distclang_status.html
Modified:
vendor/clang/dist/CMakeLists.txt
vendor/clang/dist/clang.xcodeproj/project.pbxproj
vendor/clang/dist/docs/LanguageExtensions.html
vendor/clang/dist/docs/Makefile
vendor/clang/dist/docs/UsersManual.html
vendor/clang/dist/docs/doxygen.cfg.in
vendor/clang/dist/examples/CMakeLists.txt
vendor/clang/dist/examples/clang-interpreter/Makefile
vendor/clang/dist/examples/clang-interpreter/main.cpp
vendor/clang/dist/examples/wpa/Makefile
vendor/clang/dist/include/clang-c/Index.h
vendor/clang/dist/include/clang/AST/APValue.h
vendor/clang/dist/include/clang/AST/ASTContext.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/DeclTemplate.h
vendor/clang/dist/include/clang/AST/Expr.h
vendor/clang/dist/include/clang/AST/ExternalASTSource.h
vendor/clang/dist/include/clang/AST/RecursiveASTVisitor.h
vendor/clang/dist/include/clang/AST/StmtVisitor.h
vendor/clang/dist/include/clang/AST/Type.h
vendor/clang/dist/include/clang/AST/TypeLoc.h
vendor/clang/dist/include/clang/AST/TypeNodes.def
vendor/clang/dist/include/clang/Basic/BuiltinsARM.def
vendor/clang/dist/include/clang/Basic/BuiltinsX86.def
vendor/clang/dist/include/clang/Basic/DeclNodes.td
vendor/clang/dist/include/clang/Basic/Diagnostic.h
vendor/clang/dist/include/clang/Basic/DiagnosticCommonKinds.td
vendor/clang/dist/include/clang/Basic/DiagnosticFrontendKinds.td
vendor/clang/dist/include/clang/Basic/DiagnosticGroups.td
vendor/clang/dist/include/clang/Basic/DiagnosticIDs.h
vendor/clang/dist/include/clang/Basic/DiagnosticParseKinds.td
vendor/clang/dist/include/clang/Basic/DiagnosticSemaKinds.td
vendor/clang/dist/include/clang/Basic/ExceptionSpecificationType.h
vendor/clang/dist/include/clang/Basic/IdentifierTable.h
vendor/clang/dist/include/clang/Basic/LangOptions.h
vendor/clang/dist/include/clang/Basic/SourceLocation.h
vendor/clang/dist/include/clang/Basic/SourceManager.h
vendor/clang/dist/include/clang/Basic/Specifiers.h
vendor/clang/dist/include/clang/Basic/StmtNodes.td
vendor/clang/dist/include/clang/Basic/TargetInfo.h
vendor/clang/dist/include/clang/Basic/TokenKinds.def
vendor/clang/dist/include/clang/Basic/TypeTraits.h
vendor/clang/dist/include/clang/Basic/arm_neon.td
vendor/clang/dist/include/clang/Driver/CC1AsOptions.td
vendor/clang/dist/include/clang/Driver/CC1Options.td
vendor/clang/dist/include/clang/Driver/Options.td
vendor/clang/dist/include/clang/Driver/ToolChain.h
vendor/clang/dist/include/clang/Frontend/ASTUnit.h
vendor/clang/dist/include/clang/Frontend/CodeGenOptions.h
vendor/clang/dist/include/clang/Frontend/DiagnosticOptions.h
vendor/clang/dist/include/clang/Frontend/LangStandard.h
vendor/clang/dist/include/clang/Frontend/LangStandards.def
vendor/clang/dist/include/clang/Frontend/PreprocessorOptions.h
vendor/clang/dist/include/clang/Frontend/Utils.h
vendor/clang/dist/include/clang/Lex/HeaderSearch.h
vendor/clang/dist/include/clang/Lex/LiteralSupport.h
vendor/clang/dist/include/clang/Lex/PreprocessingRecord.h
vendor/clang/dist/include/clang/Lex/Preprocessor.h
vendor/clang/dist/include/clang/Parse/Parser.h
vendor/clang/dist/include/clang/Sema/CodeCompleteConsumer.h
vendor/clang/dist/include/clang/Sema/DeclSpec.h
vendor/clang/dist/include/clang/Sema/Initialization.h
vendor/clang/dist/include/clang/Sema/Lookup.h
vendor/clang/dist/include/clang/Sema/Overload.h
vendor/clang/dist/include/clang/Sema/Scope.h
vendor/clang/dist/include/clang/Sema/Sema.h
vendor/clang/dist/include/clang/Sema/Template.h
vendor/clang/dist/include/clang/Serialization/ASTBitCodes.h
vendor/clang/dist/include/clang/Serialization/ASTReader.h
vendor/clang/dist/include/clang/Serialization/ASTWriter.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/Checker.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/CheckerManager.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/GRState.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/ObjCMessage.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h
vendor/clang/dist/include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h
vendor/clang/dist/lib/AST/APValue.cpp
vendor/clang/dist/lib/AST/ASTContext.cpp
vendor/clang/dist/lib/AST/ASTDiagnostic.cpp
vendor/clang/dist/lib/AST/ASTImporter.cpp
vendor/clang/dist/lib/AST/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/DumpXML.cpp
vendor/clang/dist/lib/AST/Expr.cpp
vendor/clang/dist/lib/AST/ExprClassification.cpp
vendor/clang/dist/lib/AST/ExprConstant.cpp
vendor/clang/dist/lib/AST/ExternalASTSource.cpp
vendor/clang/dist/lib/AST/ItaniumMangle.cpp
vendor/clang/dist/lib/AST/Mangle.cpp
vendor/clang/dist/lib/AST/MicrosoftMangle.cpp
vendor/clang/dist/lib/AST/RecordLayoutBuilder.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/CFG.cpp
vendor/clang/dist/lib/Analysis/CocoaConventions.cpp
vendor/clang/dist/lib/Analysis/LiveVariables.cpp
vendor/clang/dist/lib/Analysis/UninitializedValues.cpp
vendor/clang/dist/lib/Basic/Diagnostic.cpp
vendor/clang/dist/lib/Basic/DiagnosticIDs.cpp
vendor/clang/dist/lib/Basic/FileManager.cpp
vendor/clang/dist/lib/Basic/IdentifierTable.cpp
vendor/clang/dist/lib/Basic/SourceManager.cpp
vendor/clang/dist/lib/Basic/Targets.cpp
vendor/clang/dist/lib/CMakeLists.txt
vendor/clang/dist/lib/CodeGen/BackendUtil.cpp
vendor/clang/dist/lib/CodeGen/CGBlocks.cpp
vendor/clang/dist/lib/CodeGen/CGBuiltin.cpp
vendor/clang/dist/lib/CodeGen/CGCXX.cpp
vendor/clang/dist/lib/CodeGen/CGCall.cpp
vendor/clang/dist/lib/CodeGen/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/CGExprConstant.cpp
vendor/clang/dist/lib/CodeGen/CGExprScalar.cpp
vendor/clang/dist/lib/CodeGen/CGObjC.cpp
vendor/clang/dist/lib/CodeGen/CGObjCGNU.cpp
vendor/clang/dist/lib/CodeGen/CGObjCMac.cpp
vendor/clang/dist/lib/CodeGen/CGObjCRuntime.cpp
vendor/clang/dist/lib/CodeGen/CGObjCRuntime.h
vendor/clang/dist/lib/CodeGen/CGRecordLayoutBuilder.cpp
vendor/clang/dist/lib/CodeGen/CGStmt.cpp
vendor/clang/dist/lib/CodeGen/CGVTT.cpp
vendor/clang/dist/lib/CodeGen/CGVTables.cpp
vendor/clang/dist/lib/CodeGen/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.h
vendor/clang/dist/lib/CodeGen/ItaniumCXXABI.cpp
vendor/clang/dist/lib/CodeGen/ModuleBuilder.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/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/CMakeLists.txt
vendor/clang/dist/lib/Frontend/CompilerInstance.cpp
vendor/clang/dist/lib/Frontend/CompilerInvocation.cpp
vendor/clang/dist/lib/Frontend/CreateInvocationFromCommandLine.cpp
vendor/clang/dist/lib/Frontend/InitHeaderSearch.cpp
vendor/clang/dist/lib/Frontend/InitPreprocessor.cpp
vendor/clang/dist/lib/Frontend/LogDiagnosticPrinter.cpp
vendor/clang/dist/lib/Frontend/TextDiagnosticPrinter.cpp
vendor/clang/dist/lib/Frontend/Warnings.cpp
vendor/clang/dist/lib/Headers/emmintrin.h
vendor/clang/dist/lib/Headers/mmintrin.h
vendor/clang/dist/lib/Headers/xmmintrin.h
vendor/clang/dist/lib/Index/CallGraph.cpp
vendor/clang/dist/lib/Index/Indexer.cpp
vendor/clang/dist/lib/Lex/HeaderSearch.cpp
vendor/clang/dist/lib/Lex/Lexer.cpp
vendor/clang/dist/lib/Lex/LiteralSupport.cpp
vendor/clang/dist/lib/Lex/MacroInfo.cpp
vendor/clang/dist/lib/Lex/PPDirectives.cpp
vendor/clang/dist/lib/Lex/PPMacroExpansion.cpp
vendor/clang/dist/lib/Lex/Pragma.cpp
vendor/clang/dist/lib/Lex/PreprocessingRecord.cpp
vendor/clang/dist/lib/Lex/Preprocessor.cpp
vendor/clang/dist/lib/Makefile
vendor/clang/dist/lib/Parse/ParseCXXInlineMethods.cpp
vendor/clang/dist/lib/Parse/ParseDecl.cpp
vendor/clang/dist/lib/Parse/ParseDeclCXX.cpp
vendor/clang/dist/lib/Parse/ParseExpr.cpp
vendor/clang/dist/lib/Parse/ParseExprCXX.cpp
vendor/clang/dist/lib/Parse/ParseObjc.cpp
vendor/clang/dist/lib/Parse/ParsePragma.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/RewriteObjC.cpp
vendor/clang/dist/lib/Sema/AnalysisBasedWarnings.cpp
vendor/clang/dist/lib/Sema/DeclSpec.cpp
vendor/clang/dist/lib/Sema/JumpDiagnostics.cpp
vendor/clang/dist/lib/Sema/Sema.cpp
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/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/SemaLookup.cpp
vendor/clang/dist/lib/Sema/SemaOverload.cpp
vendor/clang/dist/lib/Sema/SemaStmt.cpp
vendor/clang/dist/lib/Sema/SemaTemplate.cpp
vendor/clang/dist/lib/Sema/SemaTemplateDeduction.cpp
vendor/clang/dist/lib/Sema/SemaTemplateInstantiate.cpp
vendor/clang/dist/lib/Sema/SemaTemplateInstantiateDecl.cpp
vendor/clang/dist/lib/Sema/SemaTemplateVariadic.cpp
vendor/clang/dist/lib/Sema/SemaType.cpp
vendor/clang/dist/lib/Sema/TreeTransform.h
vendor/clang/dist/lib/Serialization/ASTReader.cpp
vendor/clang/dist/lib/Serialization/ASTReaderDecl.cpp
vendor/clang/dist/lib/Serialization/ASTReaderStmt.cpp
vendor/clang/dist/lib/Serialization/ASTWriter.cpp
vendor/clang/dist/lib/Serialization/ASTWriterDecl.cpp
vendor/clang/dist/lib/Serialization/ASTWriterStmt.cpp
vendor/clang/dist/lib/StaticAnalyzer/Checkers/CStringChecker.cpp
vendor/clang/dist/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/BasicStore.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/BasicValueFactory.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/CFRefCount.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/CXXExprEngine.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/CheckerManager.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/Environment.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/ExprEngine.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/FlatStore.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/GRState.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/ObjCMessage.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/RegionStore.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleConstraintManager.cpp
vendor/clang/dist/lib/StaticAnalyzer/Core/SimpleSValBuilder.cpp
vendor/clang/dist/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
vendor/clang/dist/test/Analysis/CFNumber.c
vendor/clang/dist/test/Analysis/bstring.c
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.m
vendor/clang/dist/test/Analysis/plist-output-alternate.m
vendor/clang/dist/test/Analysis/retain-release.m
vendor/clang/dist/test/Analysis/string.c
vendor/clang/dist/test/CMakeLists.txt
vendor/clang/dist/test/CXX/basic/basic.lookup/basic.lookup.argdep/p4.cpp
vendor/clang/dist/test/CXX/class.access/class.friend/p2-cxx03.cpp
vendor/clang/dist/test/CXX/class.access/p4.cpp
vendor/clang/dist/test/CXX/class/class.friend/p2.cpp
vendor/clang/dist/test/CXX/class/class.mem/p1b.cpp
vendor/clang/dist/test/CXX/dcl.dcl/basic.namespace/namespace.def/p7.cpp
vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p4.cpp
vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p5.cpp
vendor/clang/dist/test/CXX/dcl.dcl/dcl.spec/dcl.type/p3-0x.cpp
vendor/clang/dist/test/CXX/dcl.decl/dcl.init/p6.cpp
vendor/clang/dist/test/CXX/except/except.spec/p1.cpp
vendor/clang/dist/test/CXX/except/except.spec/p14.cpp
vendor/clang/dist/test/CXX/except/except.spec/p9-dynamic.cpp
vendor/clang/dist/test/CXX/expr/expr.unary/expr.unary.noexcept/sema.cpp
vendor/clang/dist/test/CXX/stmt.stmt/stmt.iter/stmt.ranged/p1.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.friend/p3.cpp
vendor/clang/dist/test/CXX/temp/temp.decls/temp.variadic/ext-blocks.cpp
vendor/clang/dist/test/CXX/temp/temp.param/p11-0x.cpp
vendor/clang/dist/test/CXX/temp/temp.param/p9-0x.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p15.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p16.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.expl.spec/p17.cpp
vendor/clang/dist/test/CXX/temp/temp.spec/temp.explicit/p2.cpp
vendor/clang/dist/test/CodeGen/2009-10-20-GlobalDebug.c
vendor/clang/dist/test/CodeGen/altivec.c
vendor/clang/dist/test/CodeGen/asm-errors.c
vendor/clang/dist/test/CodeGen/available-externally-suppress.c
vendor/clang/dist/test/CodeGen/builtins-ppc-altivec.c
vendor/clang/dist/test/CodeGen/builtins-x86.c
vendor/clang/dist/test/CodeGen/builtinshufflevector.c
vendor/clang/dist/test/CodeGen/debug-info-crash.c
vendor/clang/dist/test/CodeGen/debug-info.c
vendor/clang/dist/test/CodeGen/decl.c
vendor/clang/dist/test/CodeGen/ext-vector.c
vendor/clang/dist/test/CodeGen/extern-inline.c
vendor/clang/dist/test/CodeGen/frame-pointer-elim.c
vendor/clang/dist/test/CodeGen/inline.c
vendor/clang/dist/test/CodeGen/mmx-builtins.c
vendor/clang/dist/test/CodeGen/packed-arrays.c
vendor/clang/dist/test/CodeGen/packed-structure.c
vendor/clang/dist/test/CodeGen/palignr.c
vendor/clang/dist/test/CodeGen/string-literal-short-wstring.c
vendor/clang/dist/test/CodeGen/string-literal.c
vendor/clang/dist/test/CodeGen/struct-passing.c
vendor/clang/dist/test/CodeGen/transparent-union.c
vendor/clang/dist/test/CodeGen/x86_32-arguments-darwin.c
vendor/clang/dist/test/CodeGen/x86_32-arguments-linux.c
vendor/clang/dist/test/CodeGen/x86_64-arguments.c
vendor/clang/dist/test/CodeGenCXX/PR5050-constructor-conversion.cpp
vendor/clang/dist/test/CodeGenCXX/arm.cpp
vendor/clang/dist/test/CodeGenCXX/array-construction.cpp
vendor/clang/dist/test/CodeGenCXX/array-operator-delete-call.cpp
vendor/clang/dist/test/CodeGenCXX/call-arg-zero-temp.cpp
vendor/clang/dist/test/CodeGenCXX/cast-conversion.cpp
vendor/clang/dist/test/CodeGenCXX/constructor-conversion.cpp
vendor/clang/dist/test/CodeGenCXX/constructor-default-arg.cpp
vendor/clang/dist/test/CodeGenCXX/constructor-for-array-members.cpp
vendor/clang/dist/test/CodeGenCXX/constructor-template.cpp
vendor/clang/dist/test/CodeGenCXX/convert-to-fptr.cpp
vendor/clang/dist/test/CodeGenCXX/copy-assign-synthesis-1.cpp
vendor/clang/dist/test/CodeGenCXX/cxx0x-delegating-ctors.cpp
vendor/clang/dist/test/CodeGenCXX/decl-ref-init.cpp
vendor/clang/dist/test/CodeGenCXX/default-constructor-for-members.cpp
vendor/clang/dist/test/CodeGenCXX/derived-to-base-conv.cpp
vendor/clang/dist/test/CodeGenCXX/destructors.cpp
vendor/clang/dist/test/CodeGenCXX/eh.cpp
vendor/clang/dist/test/CodeGenCXX/exceptions.cpp
vendor/clang/dist/test/CodeGenCXX/global-array-destruction.cpp
vendor/clang/dist/test/CodeGenCXX/global-llvm-constant.cpp
vendor/clang/dist/test/CodeGenCXX/goto.cpp
vendor/clang/dist/test/CodeGenCXX/internal-linkage.cpp
vendor/clang/dist/test/CodeGenCXX/mangle-exprs.cpp
vendor/clang/dist/test/CodeGenCXX/mangle-subst-std.cpp
vendor/clang/dist/test/CodeGenCXX/mangle.cpp
vendor/clang/dist/test/CodeGenCXX/new.cpp
vendor/clang/dist/test/CodeGenCXX/nrvo.cpp
vendor/clang/dist/test/CodeGenCXX/ptr-to-member-function.cpp
vendor/clang/dist/test/CodeGenCXX/static-init-2.cpp
vendor/clang/dist/test/CodeGenCXX/template-instantiation.cpp
vendor/clang/dist/test/CodeGenCXX/threadsafe-statics-exceptions.cpp
vendor/clang/dist/test/CodeGenCXX/thunks.cpp
vendor/clang/dist/test/CodeGenCXX/virtual-base-destructor-call.cpp
vendor/clang/dist/test/CodeGenCXX/x86_32-arguments.cpp
vendor/clang/dist/test/CodeGenObjC/bitfield-ivar-offsets.m
vendor/clang/dist/test/CodeGenObjC/blocks-2.m
vendor/clang/dist/test/CodeGenObjC/constant-string-class.m
vendor/clang/dist/test/CodeGenObjC/debug-info-crash.m
vendor/clang/dist/test/CodeGenObjC/debug-info-getter-name.m
vendor/clang/dist/test/CodeGenObjC/debug-info-static-var.m
vendor/clang/dist/test/CodeGenObjC/encode-test.m
vendor/clang/dist/test/CodeGenObjC/instance-method-metadata.m
vendor/clang/dist/test/CodeGenObjC/interface-layout-64.m
vendor/clang/dist/test/CodeGenObjC/ivar-layout-array0-struct.m
vendor/clang/dist/test/CodeGenObjC/ivar-layout-no-optimize.m
vendor/clang/dist/test/CodeGenObjC/messages-2.m
vendor/clang/dist/test/CodeGenObjC/metadata-symbols-64.m
vendor/clang/dist/test/CodeGenObjC/no-vararg-messaging.m
vendor/clang/dist/test/CodeGenObjC/objc-read-weak-byref.m
vendor/clang/dist/test/CodeGenObjC/protocol-in-extended-class.m
vendor/clang/dist/test/CodeGenObjC/try.m
vendor/clang/dist/test/CodeGenObjCXX/blocks.mm
vendor/clang/dist/test/CodeGenObjCXX/encode.mm
vendor/clang/dist/test/CodeGenObjCXX/mangle.mm
vendor/clang/dist/test/CodeGenObjCXX/property-object-conditional-exp.mm
vendor/clang/dist/test/Driver/cc-log-diagnostics.c
vendor/clang/dist/test/Driver/darwin-debug-flags.c
vendor/clang/dist/test/Driver/darwin-ld.c
vendor/clang/dist/test/Driver/rewrite-objc.m
vendor/clang/dist/test/FixIt/fixit-cxx0x.cpp
vendor/clang/dist/test/Frontend/diagnostic-name.c
vendor/clang/dist/test/Frontend/ir-support-codegen.ll
vendor/clang/dist/test/Index/annotate-context-sensitive.cpp
vendor/clang/dist/test/Index/annotate-tokens-pp.c
vendor/clang/dist/test/Index/annotate-tokens.m
vendor/clang/dist/test/Index/complete-kvc.m
vendor/clang/dist/test/Index/complete-member-access.m
vendor/clang/dist/test/Index/complete-property-flags.m
vendor/clang/dist/test/Index/overrides.cpp
vendor/clang/dist/test/Index/properties-class-extensions.m
vendor/clang/dist/test/Index/recursive-cxx-member-calls.cpp
vendor/clang/dist/test/Index/usrs.cpp
vendor/clang/dist/test/Index/usrs.m
vendor/clang/dist/test/Lexer/block_cmt_end.c
vendor/clang/dist/test/Lexer/has_feature_cxx0x.cpp
vendor/clang/dist/test/Lexer/has_feature_type_traits.cpp
vendor/clang/dist/test/Misc/Inputs/include.h
vendor/clang/dist/test/Misc/include-stack-for-note-flag.cpp
vendor/clang/dist/test/PCH/cxx-for-range.cpp
vendor/clang/dist/test/PCH/cxx-reference.cpp
vendor/clang/dist/test/PCH/cxx-static_assert.cpp
vendor/clang/dist/test/PCH/objc_methods.h
vendor/clang/dist/test/PCH/objc_methods.m
vendor/clang/dist/test/PCH/objcxx-ivar-class.mm
vendor/clang/dist/test/Parser/MicrosoftExtensions.cpp
vendor/clang/dist/test/Parser/cxx-friend.cpp
vendor/clang/dist/test/Preprocessor/if_warning.c
vendor/clang/dist/test/Preprocessor/pragma_sysheader.c
vendor/clang/dist/test/Sema/MicrosoftExtensions.c
vendor/clang/dist/test/Sema/arm-neon-types.c
vendor/clang/dist/test/Sema/asm.c
vendor/clang/dist/test/Sema/attr-unknown.c
vendor/clang/dist/test/Sema/builtins-arm.c
vendor/clang/dist/test/Sema/carbon.c
vendor/clang/dist/test/Sema/exprs.c
vendor/clang/dist/test/Sema/illegal-types.c
vendor/clang/dist/test/Sema/parentheses.c
vendor/clang/dist/test/Sema/stdcall-fastcall.c
vendor/clang/dist/test/Sema/uninit-variables.c
vendor/clang/dist/test/Sema/x86-builtin-palignr.c
vendor/clang/dist/test/SemaCXX/MicrosoftExtensions.cpp
vendor/clang/dist/test/SemaCXX/PR9572.cpp
vendor/clang/dist/test/SemaCXX/aggregate-initialization.cpp
vendor/clang/dist/test/SemaCXX/anonymous-union.cpp
vendor/clang/dist/test/SemaCXX/attr-cxx0x.cpp
vendor/clang/dist/test/SemaCXX/attr-noreturn.cpp
vendor/clang/dist/test/SemaCXX/attr-regparm.cpp
vendor/clang/dist/test/SemaCXX/class.cpp
vendor/clang/dist/test/SemaCXX/conversion.cpp
vendor/clang/dist/test/SemaCXX/copy-constructor-error.cpp
vendor/clang/dist/test/SemaCXX/cxx0x-delegating-ctors.cpp
vendor/clang/dist/test/SemaCXX/default-constructor-initializers.cpp
vendor/clang/dist/test/SemaCXX/deleted-function.cpp
vendor/clang/dist/test/SemaCXX/dependent-types.cpp
vendor/clang/dist/test/SemaCXX/destructor.cpp
vendor/clang/dist/test/SemaCXX/enum-scoped.cpp
vendor/clang/dist/test/SemaCXX/expressions.cpp
vendor/clang/dist/test/SemaCXX/implicit-member-functions.cpp
vendor/clang/dist/test/SemaCXX/member-expr.cpp
vendor/clang/dist/test/SemaCXX/member-pointer.cpp
vendor/clang/dist/test/SemaCXX/nullptr.cpp
vendor/clang/dist/test/SemaCXX/overload-call.cpp
vendor/clang/dist/test/SemaCXX/overloaded-operator.cpp
vendor/clang/dist/test/SemaCXX/reinterpret-cast.cpp
vendor/clang/dist/test/SemaCXX/return.cpp
vendor/clang/dist/test/SemaCXX/struct-class-redecl.cpp
vendor/clang/dist/test/SemaCXX/switch.cpp
vendor/clang/dist/test/SemaCXX/type-traits.cpp
vendor/clang/dist/test/SemaCXX/value-initialization.cpp
vendor/clang/dist/test/SemaCXX/vararg-non-pod.cpp
vendor/clang/dist/test/SemaCXX/vtable-instantiation.cc
vendor/clang/dist/test/SemaObjC/exprs.m
vendor/clang/dist/test/SemaObjC/objc2-warn-weak-decl.m
vendor/clang/dist/test/SemaObjCXX/blocks.mm
vendor/clang/dist/test/SemaObjCXX/overload-gc.mm
vendor/clang/dist/test/SemaObjCXX/overload.mm
vendor/clang/dist/test/SemaTemplate/deduction-crash.cpp
vendor/clang/dist/test/SemaTemplate/dependent-names.cpp
vendor/clang/dist/test/SemaTemplate/friend-template.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-call.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-function-1.cpp
vendor/clang/dist/test/SemaTemplate/instantiate-init.cpp
vendor/clang/dist/test/SemaTemplate/partial-spec-instantiate.cpp
vendor/clang/dist/test/SemaTemplate/typename-specifier.cpp
vendor/clang/dist/test/lit.cfg
vendor/clang/dist/tools/c-index-test/c-index-test.c
vendor/clang/dist/tools/driver/cc1as_main.cpp
vendor/clang/dist/tools/libclang/CIndex.cpp
vendor/clang/dist/tools/libclang/CIndexCodeCompletion.cpp
vendor/clang/dist/tools/libclang/CIndexDiagnostic.cpp
vendor/clang/dist/tools/libclang/CIndexUSRs.cpp
vendor/clang/dist/tools/libclang/CIndexer.h
vendor/clang/dist/tools/libclang/CXCursor.cpp
vendor/clang/dist/tools/libclang/CXType.cpp
vendor/clang/dist/tools/libclang/libclang.darwin.exports
vendor/clang/dist/tools/libclang/libclang.exports
vendor/clang/dist/unittests/CMakeLists.txt
vendor/clang/dist/www/analyzer/latest_checker.html.incl
vendor/clang/dist/www/analyzer/release_notes.html
vendor/clang/dist/www/comparison.html
vendor/clang/dist/www/compatibility.html
vendor/clang/dist/www/cxx_status.html
vendor/clang/dist/www/diagnostics.html
vendor/clang/dist/www/features.html
vendor/clang/dist/www/libstdc++4.4-clang0x.patch
Modified: vendor/clang/dist/CMakeLists.txt
==============================================================================
--- vendor/clang/dist/CMakeLists.txt Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/CMakeLists.txt Sun Jun 12 15:46:16 2011 (r223015)
@@ -57,6 +57,13 @@ set(CLANG_RESOURCE_DIR "" CACHE STRING
set(C_INCLUDE_DIRS "" CACHE STRING
"Colon separated list of directories clang will search for headers.")
+set(CLANG_VENDOR "" CACHE STRING
+ "Vendor-specific text for showing with version information.")
+
+if( CLANG_VENDOR )
+ add_definitions( -DCLANG_VENDOR="${CLANG_VENDOR} " )
+endif()
+
set(CLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(CLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
@@ -103,7 +110,7 @@ configure_file(
${CMAKE_CURRENT_BINARY_DIR}/include/clang/Basic/Version.inc)
# Add appropriate flags for GCC
-if (CMAKE_COMPILER_IS_GNUCXX)
+if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing -pedantic -Wno-long-long -Wall -W -Wno-unused-parameter -Wwrite-strings")
endif ()
Modified: vendor/clang/dist/clang.xcodeproj/project.pbxproj
==============================================================================
--- vendor/clang/dist/clang.xcodeproj/project.pbxproj Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/clang.xcodeproj/project.pbxproj Sun Jun 12 15:46:16 2011 (r223015)
@@ -6,6 +6,12 @@
objectVersion = 42;
objects = {
+/* Begin PBXBuildFile section */
+ BD6B0EDF13A1824C00B8E3FE /* Mangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD6B0EDE13A1824C00B8E3FE /* Mangle.cpp */; };
+ BD6B0EE213A182A600B8E3FE /* ItaniumMangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD6B0EE113A182A600B8E3FE /* ItaniumMangle.cpp */; };
+ BD6B0EE413A182DA00B8E3FE /* MicrosoftMangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BD6B0EE313A182DA00B8E3FE /* MicrosoftMangle.cpp */; };
+/* End PBXBuildFile section */
+
/* Begin PBXCopyFilesBuildPhase section */
8DD76F690486A84900D96B5E /* CopyFiles */ = {
isa = PBXCopyFilesBuildPhase;
@@ -472,6 +478,9 @@
BD59A952121496B9003A5A02 /* SemaConsumer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SemaConsumer.h; path = clang/Sema/SemaConsumer.h; sourceTree = "<group>"; };
BD59A953121496B9003A5A02 /* SemaDiagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SemaDiagnostic.h; path = clang/Sema/SemaDiagnostic.h; sourceTree = "<group>"; };
BD59A954121496B9003A5A02 /* Template.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Template.h; path = clang/Sema/Template.h; sourceTree = "<group>"; };
+ BD6B0EDE13A1824C00B8E3FE /* Mangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Mangle.cpp; sourceTree = "<group>"; };
+ BD6B0EE113A182A600B8E3FE /* ItaniumMangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = ItaniumMangle.cpp; sourceTree = "<group>"; };
+ BD6B0EE313A182DA00B8E3FE /* MicrosoftMangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MicrosoftMangle.cpp; sourceTree = "<group>"; };
BDF87CF60FD746F300BBF872 /* SemaTemplateDeduction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplateDeduction.cpp; path = lib/Sema/SemaTemplateDeduction.cpp; sourceTree = "<group>"; tabWidth = 2; };
BF89C3E111595818001C2D68 /* AnalysisBasedWarnings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnalysisBasedWarnings.cpp; path = lib/Sema/AnalysisBasedWarnings.cpp; sourceTree = "<group>"; };
BF89C3E5115958A1001C2D68 /* TargetAttributesSema.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = TargetAttributesSema.h; path = lib/Sema/TargetAttributesSema.h; sourceTree = "<group>"; };
@@ -1514,6 +1523,9 @@
DEC8D9920A9433F400353FCA /* AST */ = {
isa = PBXGroup;
children = (
+ BD6B0EDE13A1824C00B8E3FE /* Mangle.cpp */,
+ BD6B0EE313A182DA00B8E3FE /* MicrosoftMangle.cpp */,
+ BD6B0EE113A182A600B8E3FE /* ItaniumMangle.cpp */,
BF9FEE051225E770003A8B71 /* MicrosoftCXXABI.cpp */,
BF9FEE031225E759003A8B71 /* ItaniumCXXABI.cpp */,
BF9FEE011225E73F003A8B71 /* ExprClassification.cpp */,
@@ -1900,6 +1912,9 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
+ BD6B0EDF13A1824C00B8E3FE /* Mangle.cpp in Sources */,
+ BD6B0EE213A182A600B8E3FE /* ItaniumMangle.cpp in Sources */,
+ BD6B0EE413A182DA00B8E3FE /* MicrosoftMangle.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
Modified: vendor/clang/dist/docs/LanguageExtensions.html
==============================================================================
--- vendor/clang/dist/docs/LanguageExtensions.html Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/docs/LanguageExtensions.html Sun Jun 12 15:46:16 2011 (r223015)
@@ -32,28 +32,42 @@ td {
</ul>
<li><a href="#checking_upcoming_features">Checks for Upcoming Standard Language Features</a></li>
<ul>
- <li><a href="#cxx_attributes">C++0x attributes</a></li>
- <li><a href="#cxx_decltype">C++0x <tt>decltype()</tt></a></li>
- <li><a href="#cxx_default_function_template_args">C++0x default template arguments in function templates</a></li>
- <li><a href="#cxx_deleted_functions">C++0x deleted functions</a></li>
- <li><a href="#cxx_lambdas">C++0x lambdas</a></li>
- <li><a href="#cxx_nullptr">C++0x nullptr</a></li>
- <li><a href="#cxx_override_control">C++0x override control</a></li>
- <li><a href="#cxx_range_for">C++0x range-based for loop</a></li>
- <li><a href="#cxx_rvalue_references">C++0x rvalue references</a></li>
- <li><a href="#cxx_reference_qualified_functions">C++0x reference-qualified functions</a></li>
- <li><a href="#cxx_static_assert">C++0x <tt>static_assert()</tt></a></li>
- <li><a href="#cxx_auto_type">C++0x type inference</a></li>
- <li><a href="#cxx_variadic_templates">C++0x variadic templates</a></li>
- <li><a href="#cxx_inline_namespaces">C++0x inline namespaces</a></li>
- <li><a href="#cxx_strong_enums">C++0x strongly-typed enumerations</a></li>
- <li><a href="#cxx_trailing_return">C++0x trailing return type</a></li>
- <li><a href="#cxx_noexcept">C++0x noexcept specification</a></li>
+ <li><a href="#cxx0x">C++0x</a>
+ <ul>
+ <li><a href="#cxx_decltype">C++0x <tt>decltype()</tt></a></li>
+ <li><a href="#cxx_access_control_sfinae">C++0x SFINAE includes access control</a></li>
+ <li><a href="#cxx_alias_templates">C++0x alias templates</a></li>
+ <li><a href="#cxx_attributes">C++0x attributes</a></li>
+ <li><a href="#cxx_default_function_template_args">C++0x default template arguments in function templates</a></li>
+ <li><a href="#cxx_deleted_functions">C++0x deleted functions</a></li>
+ <li><a href="#cxx_lambdas">C++0x lambdas</a></li>
+ <li><a href="#cxx_nullptr">C++0x nullptr</a></li>
+ <li><a href="#cxx_override_control">C++0x override control</a></li>
+ <li><a href="#cxx_range_for">C++0x range-based for loop</a></li>
+ <li><a href="#cxx_rvalue_references">C++0x rvalue references</a></li>
+ <li><a href="#cxx_reference_qualified_functions">C++0x reference-qualified functions</a></li>
+ <li><a href="#cxx_static_assert">C++0x <tt>static_assert()</tt></a></li>
+ <li><a href="#cxx_auto_type">C++0x type inference</a></li>
+ <li><a href="#cxx_variadic_templates">C++0x variadic templates</a></li>
+ <li><a href="#cxx_inline_namespaces">C++0x inline namespaces</a></li>
+ <li><a href="#cxx_strong_enums">C++0x strongly-typed enumerations</a></li>
+ <li><a href="#cxx_trailing_return">C++0x trailing return type</a></li>
+ <li><a href="#cxx_noexcept">C++0x noexcept specification</a></li>
+ </ul>
+ <li><a href="#c1x">C1X</a>
+ <ul>
+ <li><a href="#c_generic_selections">C1X generic selections</a></li>
+ <li><a href="#c_static_assert">C1X <tt>_Static_assert()</tt></a></li>
+ </ul>
</ul>
<li><a href="#checking_type_traits">Checks for Type Traits</a></li>
<li><a href="#blocks">Blocks</a></li>
+<li><a href="#objc_features">Objective-C Features</a>
+ <ul>
+ <li><a href="#objc_instancetype">Related result types</a></li>
+ </ul>
+</li>
<li><a href="#overloading-in-c">Function Overloading in C</a></li>
-<li><a href="#generic-selections">Generic Selections</a></li>
<li><a href="#builtins">Builtin Functions</a>
<ul>
<li><a href="#__builtin_shufflevector">__builtin_shufflevector</a></li>
@@ -115,28 +129,48 @@ not. It can be used like this:</p>
<!-- ======================================================================= -->
-<h3 id="__has_feature">__has_feature</h3>
+<h3 id="__has_feature_extension">__has_feature and __has_extension</h3>
<!-- ======================================================================= -->
-<p>This function-like macro takes a single identifier argument that is the name
-of a feature. It evaluates to 1 if the feature is supported or 0 if not. It
-can be used like this:</p>
+<p>These function-like macros take a single identifier argument that is the
+name of a feature. <code>__has_feature</code> evaluates to 1 if the feature
+is both supported by Clang and standardized in the current language standard
+or 0 if not (but see <a href="#has_feature_back_compat">below</a>), while
+<code>__has_extension</code> evaluates to 1 if the feature is supported by
+Clang in the current language (either as a language extension or a standard
+language feature) or 0 if not. They can be used like this:</p>
<blockquote>
<pre>
#ifndef __has_feature // Optional of course.
#define __has_feature(x) 0 // Compatibility with non-clang compilers.
#endif
+#ifndef __has_extension
+ #define __has_extension __has_feature // Compatibility with pre-3.0 compilers.
+#endif
...
-#if __has_feature(attribute_overloadable) || \
- __has_feature(blocks)
-...
+#if __has_feature(cxx_rvalue_references)
+// This code will only be compiled with the -std=c++0x and -std=gnu++0x
+// options, because rvalue references are only standardized in C++0x.
+#endif
+
+#if __has_extension(cxx_rvalue_references)
+// This code will be compiled with the -std=c++0x, -std=gnu++0x, -std=c++98
+// and -std=gnu++98 options, because rvalue references are supported as a
+// language extension in C++98.
#endif
-...
</pre>
</blockquote>
+<p id="has_feature_back_compat">For backwards compatibility reasons,
+<code>__has_feature</code> can also be used to test for support for
+non-standardized features, i.e. features not prefixed <code>c_</code>,
+<code>cxx_</code> or <code>objc_</code>.</p>
+
+<p>If the <code>-pedantic-errors</code> option is given,
+<code>__has_extension</code> is equivalent to <code>__has_feature</code>.</p>
+
<p>The feature tag is described along with the language feature below.</p>
<!-- ======================================================================= -->
@@ -293,7 +327,7 @@ float4 foo(float2 a, float2 b) {
</pre>
</blockquote>
-<p>Query for this feature with __has_feature(attribute_ext_vector_type).</p>
+<p>Query for this feature with __has_extension(attribute_ext_vector_type).</p>
<p>See also <a href="#__builtin_shufflevector">__builtin_shufflevector</a>.</p>
@@ -318,8 +352,8 @@ will be incorporated into the appropriat
</blockquote>
<p>Query for this feature
-with <tt>__has_feature(attribute_deprecated_with_message)</tt>
-and <tt>__has_feature(attribute_unavailable_with_message)</tt>.</p>
+with <tt>__has_extension(attribute_deprecated_with_message)</tt>
+and <tt>__has_extension(attribute_unavailable_with_message)</tt>.</p>
<!-- ======================================================================= -->
<h2 id="attributes-on-enumerators">Attributes on Enumerators</h2>
@@ -342,7 +376,7 @@ initializer, like so:</p>
<p>Attributes on the <tt>enum</tt> declaration do not apply to
individual enumerators.</p>
-<p>Query for this feature with <tt>__has_feature(enumerator_attributes)</tt>.</p>
+<p>Query for this feature with <tt>__has_extension(enumerator_attributes)</tt>.</p>
<!-- ======================================================================= -->
<h2 id="checking_language_features">Checks for Standard Language Features</h2>
@@ -365,106 +399,165 @@ compiling code with <tt>-fno-rtti</tt> d
<h2 id="checking_upcoming_features">Checks for Upcoming Standard Language Features</h2>
<!-- ======================================================================= -->
-<p>The <tt>__has_feature</tt> macro can be used to query if certain upcoming
-standard language features are enabled. Those features are listed here.</p>
+<p>The <tt>__has_feature</tt> or <tt>__has_extension</tt> macros can be used
+to query if certain upcoming standard language features are enabled. Those
+features are listed here. Features that are not yet implemented will be
+noted.</p>
-<p>Currently, all features listed here are slated for inclusion in the upcoming
-C++0x standard. As a result, all the features that clang supports are enabled
-with the <tt>-std=c++0x</tt> option when compiling C++ code. Features that are
-not yet implemented will be noted.</p>
+<h3 id="cxx0x">C++0x</h3>
-<h3 id="cxx_decltype">C++0x <tt>decltype()</tt></h3>
+<p>The features listed below are slated for inclusion in the upcoming
+C++0x standard. As a result, all these features are enabled
+with the <tt>-std=c++0x</tt> option when compiling C++ code.</p>
-<p>Use <tt>__has_feature(cxx_decltype)</tt> to determine if support for the
+<h4 id="cxx_decltype">C++0x <tt>decltype()</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_decltype)</tt> or
+<tt>__has_extension(cxx_decltype)</tt> to determine if support for the
<tt>decltype()</tt> specifier is enabled.</p>
-<h3 id="cxx_attributes">C++0x attributes</h3>
+<h4 id="cxx_access_control_sfinae">C++0x SFINAE includes access control</h3>
-<p>Use <tt>__has_feature(cxx_attributes)</tt> to determine if support for
-attribute parsing with C++0x's square bracket notation is enabled.</p>
+<p>Use <tt>__has_feature(cxx_access_control_sfinae)</tt> or <tt>__has_extension(cxx_access_control_sfinae)</tt> to determine whether access-control errors (e.g., calling a private constructor) are considered to be template argument deduction errors (aka SFINAE errors), per <a href="http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1170">C++ DR1170</a>.</p>
-<h3 id="cxx_default_function_template_args">C++0x default template arguments in function templates</h3>
+<h4 id="cxx_alias_templates">C++0x alias templates</h3>
-<p>Use <tt>__has_feature(cxx_default_function_template_args)</tt> to determine if support for default template arguments in function templates is enabled.</p>
+<p>Use <tt>__has_feature(cxx_alias_templates)</tt> or
+<tt>__has_extension(cxx_alias_templates)</tt> to determine if support for
+C++0x's alias declarations and alias templates is enabled.</p>
-<h3 id="cxx_deleted_functions">C++0x deleted functions</tt></h3>
+<h4 id="cxx_attributes">C++0x attributes</h3>
-<p>Use <tt>__has_feature(cxx_deleted_functions)</tt> to determine if support for
-deleted function definitions (with <tt>= delete</tt>) is enabled.</p>
+<p>Use <tt>__has_feature(cxx_attributes)</tt> or
+<tt>__has_extension(cxx_attributes)</tt> to determine if support for attribute
+parsing with C++0x's square bracket notation is enabled.</p>
-<h3 id="cxx_lambdas">C++0x lambdas</h3>
+<h4 id="cxx_default_function_template_args">C++0x default template arguments in function templates</h3>
-<p>Use <tt>__has_feature(cxx_lambdas)</tt> to determine if support for
-lambdas is enabled. clang does not currently implement this feature.</p>
+<p>Use <tt>__has_feature(cxx_default_function_template_args)</tt> or
+<tt>__has_extension(cxx_default_function_template_args)</tt> to determine
+if support for default template arguments in function templates is enabled.</p>
-<h3 id="cxx_nullptr">C++0x <tt>nullptr</tt></h3>
+<h4 id="cxx_deleted_functions">C++0x deleted functions</tt></h3>
-<p>Use <tt>__has_feature(cxx_nullptr)</tt> to determine if support for
-<tt>nullptr</tt> is enabled. clang does not yet fully implement this
-feature.</p>
+<p>Use <tt>__has_feature(cxx_deleted_functions)</tt> or
+<tt>__has_extension(cxx_deleted_functions)</tt> to determine if support for
+deleted function definitions (with <tt>= delete</tt>) is enabled.</p>
-<h3 id="cxx_override_control">C++0x <tt>override control</tt></h3>
+<h4 id="cxx_lambdas">C++0x lambdas</h3>
-<p>Use <tt>__has_feature(cxx_override_control)</tt> to determine if support for
-the override control keywords is enabled.</p>
+<p>Use <tt>__has_feature(cxx_lambdas)</tt> or
+<tt>__has_extension(cxx_lambdas)</tt> to determine if support for lambdas
+is enabled. clang does not currently implement this feature.</p>
-<h3 id="cxx_reference_qualified_functions">C++0x reference-qualified functions</h3>
-<p>Use <tt>__has_feature(cxx_reference_qualified_functions)</tt> to determine if support for reference-qualified functions (e.g., member functions with <code>&</code> or <code>&&</code> applied to <code>*this</code>) is enabled.</p>
+<h4 id="cxx_nullptr">C++0x <tt>nullptr</tt></h3>
-<h3 id="cxx_range_for">C++0x range-based for loop</tt></h3>
+<p>Use <tt>__has_feature(cxx_nullptr)</tt> or
+<tt>__has_extension(cxx_nullptr)</tt> to determine if support for
+<tt>nullptr</tt> is enabled.</p>
-<p>Use <tt>__has_feature(cxx_range_for)</tt> to determine if support for
-the range-based for loop is enabled. </p>
+<h4 id="cxx_override_control">C++0x <tt>override control</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_override_control)</tt> or
+<tt>__has_extension(cxx_override_control)</tt> to determine if support for
+the override control keywords is enabled.</p>
-<h3 id="cxx_rvalue_references">C++0x rvalue references</tt></h3>
+<h4 id="cxx_reference_qualified_functions">C++0x reference-qualified functions</h3>
+<p>Use <tt>__has_feature(cxx_reference_qualified_functions)</tt> or
+<tt>__has_extension(cxx_reference_qualified_functions)</tt> to determine
+if support for reference-qualified functions (e.g., member functions with
+<code>&</code> or <code>&&</code> applied to <code>*this</code>)
+is enabled.</p>
+
+<h4 id="cxx_range_for">C++0x range-based for loop</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_range_for)</tt> or
+<tt>__has_extension(cxx_range_for)</tt> to determine if support for the
+range-based for loop is enabled. </p>
-<p>Use <tt>__has_feature(cxx_rvalue_references)</tt> to determine if support for
+<h4 id="cxx_rvalue_references">C++0x rvalue references</tt></h3>
+
+<p>Use <tt>__has_feature(cxx_rvalue_references)</tt> or
+<tt>__has_extension(cxx_rvalue_references)</tt> to determine if support for
rvalue references is enabled. </p>
-<h3 id="cxx_static_assert">C++0x <tt>static_assert()</tt></h3>
+<h4 id="cxx_static_assert">C++0x <tt>static_assert()</tt></h3>
-<p>Use <tt>__has_feature(cxx_static_assert)</tt> to determine if support for
+<p>Use <tt>__has_feature(cxx_static_assert)</tt> or
+<tt>__has_extension(cxx_static_assert)</tt> to determine if support for
compile-time assertions using <tt>static_assert</tt> is enabled.</p>
-<h3 id="cxx_auto_type">C++0x type inference</h3>
+<h4 id="cxx_auto_type">C++0x type inference</h3>
-<p>Use <tt>__has_feature(cxx_auto_type)</tt> to determine C++0x type inference
-is supported using the <tt>auto</tt> specifier. If this is disabled,
-<tt>auto</tt> will instead be a storage class specifier, as in C or C++98.</p>
+<p>Use <tt>__has_feature(cxx_auto_type)</tt> or
+<tt>__has_extension(cxx_auto_type)</tt> to determine C++0x type inference is
+supported using the <tt>auto</tt> specifier. If this is disabled, <tt>auto</tt>
+will instead be a storage class specifier, as in C or C++98.</p>
-<h3 id="cxx_variadic_templates">C++0x variadic templates</h3>
+<h4 id="cxx_variadic_templates">C++0x variadic templates</h3>
-<p>Use <tt>__has_feature(cxx_variadic_templates)</tt> to determine if support
+<p>Use <tt>__has_feature(cxx_variadic_templates)</tt> or
+<tt>__has_extension(cxx_variadic_templates)</tt> to determine if support
for variadic templates is enabled.</p>
-<h3 id="cxx_inline_namespaces">C++0x inline namespaces</h3>
+<h4 id="cxx_inline_namespaces">C++0x inline namespaces</h3>
-<p>Use <tt>__has_feature(cxx_inline_namespaces)</tt> to determine if support for
+<p>Use <tt>__has_feature(cxx_inline_namespaces)</tt> or
+<tt>__has_extension(cxx_inline_namespaces)</tt> to determine if support for
inline namespaces is enabled.</p>
-<h3 id="cxx_trailing_return">C++0x trailing return type</h3>
+<h4 id="cxx_trailing_return">C++0x trailing return type</h3>
-<p>Use <tt>__has_feature(cxx_trailing_return)</tt> to determine if support for
-the alternate function declaration syntax with trailing return type is enabled.</p>
+<p>Use <tt>__has_feature(cxx_trailing_return)</tt> or
+<tt>__has_extension(cxx_trailing_return)</tt> to determine if support for the
+alternate function declaration syntax with trailing return type is enabled.</p>
-<h3 id="cxx_noexcept">C++0x noexcept</h3>
+<h4 id="cxx_noexcept">C++0x noexcept</h3>
-<p>Use <tt>__has_feature(cxx_noexcept)</tt> to determine if support for
-noexcept exception specifications is enabled.</p>
+<p>Use <tt>__has_feature(cxx_noexcept)</tt> or
+<tt>__has_extension(cxx_noexcept)</tt> to determine if support for noexcept
+exception specifications is enabled.</p>
-<h3 id="cxx_strong_enums">C++0x strongly typed enumerations</h3>
+<h4 id="cxx_strong_enums">C++0x strongly typed enumerations</h3>
-<p>Use <tt>__has_feature(cxx_strong_enums)</tt> to determine if support for
+<p>Use <tt>__has_feature(cxx_strong_enums)</tt> or
+<tt>__has_extension(cxx_strong_enums)</tt> to determine if support for
strongly typed, scoped enumerations is enabled.</p>
+<h3 id="c1x">C1X</h3>
+
+<p>The features listed below are slated for inclusion in the upcoming
+C1X standard. As a result, all these features are enabled
+with the <tt>-std=c1x</tt> option when compiling C code.</p>
+
+<h4 id="c_generic_selections">C1X generic selections</h2>
+
+<p>Use <tt>__has_feature(c_generic_selections)</tt> or
+<tt>__has_extension(c_generic_selections)</tt> to determine if support for
+generic selections is enabled.</p>
+
+<p>As an extension, the C1X generic selection expression is available in all
+languages supported by Clang. The syntax is the same as that given in the
+C1X draft standard.</p>
+
+<p>In C, type compatibility is decided according to the rules given in the
+appropriate standard, but in C++, which lacks the type compatibility rules
+used in C, types are considered compatible only if they are equivalent.</p>
+
+<h4 id="c_static_assert">C1X <tt>_Static_assert()</tt></h3>
+
+<p>Use <tt>__has_feature(c_static_assert)</tt> or
+<tt>__has_extension(c_static_assert)</tt> to determine if support for
+compile-time assertions using <tt>_Static_assert</tt> is enabled.</p>
+
<!-- ======================================================================= -->
<h2 id="checking_type_traits">Checks for Type Traits</h2>
<!-- ======================================================================= -->
-<p>Clang supports the <a hef="http://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html">GNU C++ type traits</a> and a subset of the <a href="http://msdn.microsoft.com/en-us/library/ms177194(v=VS.100).aspx">Microsoft Visual C++ Type traits</a>. For each supported type trait <code>__X</code>, <code>__has_feature(X)</code> indicates the presence of the type trait. For example:
+<p>Clang supports the <a hef="http://gcc.gnu.org/onlinedocs/gcc/Type-Traits.html">GNU C++ type traits</a> and a subset of the <a href="http://msdn.microsoft.com/en-us/library/ms177194(v=VS.100).aspx">Microsoft Visual C++ Type traits</a>. For each supported type trait <code>__X</code>, <code>__has_extension(X)</code> indicates the presence of the type trait. For example:
<blockquote>
<pre>
-#if __has_feature(is_convertible_to)
+#if __has_extension(is_convertible_to)
template<typename From, typename To>
struct is_convertible_to {
static const bool value = __is_convertible_to(From, To);
@@ -507,7 +600,74 @@ details for the clang implementation are
href="Block-ABI-Apple.txt">Block-ABI-Apple.txt</a>.</p>
-<p>Query for this feature with __has_feature(blocks).</p>
+<p>Query for this feature with __has_extension(blocks).</p>
+
+<!-- ======================================================================= -->
+<h2 id="objc_features">Objective-C Features</h2>
+<!-- ======================================================================= -->
+
+<h3 id="objc_instancetype">Related result types</h3>
+
+<p>According to Cocoa conventions, Objective-C methods with certain names ("init", "alloc", etc.) always return objects that are an instance of the receiving class's type. Such methods are said to have a "related result type", meaning that a message send to one of these methods will have the same static type as an instance of the receiver class. For example, given the following classes:</p>
+
+<blockquote>
+<pre>
+ at interface NSObject
++ (id)alloc;
+- (id)init;
+ at end
+
+ at interface NSArray : NSObject
+ at end
+</pre>
+</blockquote>
+
+<p>and this common initialization pattern</p>
+
+<blockquote>
+<pre>
+NSArray *array = [[NSArray alloc] init];
+</pre>
+</blockquote>
+
+<p>the type of the expression <code>[NSArray alloc]</code> is
+<code>NSArray*</code> because <code>alloc</code> implicitly has a
+related result type. Similarly, the type of the expression
+<code>[[NSArray alloc] init]</code> is <code>NSArray*</code>, since
+<code>init</code> has a related result type and its receiver is known
+to have the type <code>NSArray *</code>. If neither <code>alloc</code> nor <code>init</code> had a related result type, the expressions would have had type <code>id</code>, as declared in the method signature.</p>
+
+<p>To determine whether a method has a related result type, the first
+word in the camel-case selector (e.g., "init" in "initWithObjects") is
+considered, and the method will a related result type if its return
+type is compatible with the type of its class and if
+
+<ul>
+
+ <li>the first word is "alloc" or "new", and the method is a class
+ method, or</li>
+
+ <li>the first word is "autorelease", "init", "retain", or "self",
+ and the method is an instance method.</li>
+
+</ul></p>
+
+<p>If a method with a related result type is overridden by a subclass
+method, the subclass method must also return a type that is compatible
+with the subclass type. For example:</p>
+
+<blockquote>
+<pre>
+ at interface NSString : NSObject
+- (NSUnrelated *)init; // incorrect usage: NSUnrelated is not NSString or a superclass of NSString
+ at end
+</pre>
+</blockquote>
+
+<p>Related result types only affect the type of a message send or
+property access via the given method. In all other respects, a method
+with a related result type is treated the same way as method without a
+related result type.</p>
<!-- ======================================================================= -->
<h2 id="overloading-in-c">Function Overloading in C</h2>
@@ -607,22 +767,8 @@ caveats to this use of name mangling:</p
C.</li>
</ul>
-<p>Query for this feature with __has_feature(attribute_overloadable).</p>
-
-
-<!-- ======================================================================= -->
-<h2 id="generic-selections">Generic Selections</h2>
-<!-- ======================================================================= -->
-
-<p>The C1X generic selection expression is available in all languages
-supported by Clang. The syntax is the same as that given in the C1X draft
-standard.</p>
-
-<p>In C, type compatibility is decided according to the rules given in the
-appropriate standard, but in C++, which lacks the type compatibility rules
-used in C, types are considered compatible only if they are equivalent.</p>
+<p>Query for this feature with __has_extension(attribute_overloadable).</p>
-<p>Query for this feature with __has_feature(generic_selections).</p>
<!-- ======================================================================= -->
<h2 id="builtins">Builtin Functions</h2>
Modified: vendor/clang/dist/docs/Makefile
==============================================================================
--- vendor/clang/dist/docs/Makefile Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/docs/Makefile Sun Jun 12 15:46:16 2011 (r223015)
@@ -16,10 +16,10 @@ DOXYGEN = doxygen
$(PROJ_OBJ_DIR)/doxygen.cfg: doxygen.cfg.in
cat $< | sed \
- -e 's/@abs_top_srcdir@/../g' \
+ -e 's/@abs_srcdir@/./g' \
-e 's/@DOT@/dot/g' \
-e 's/@PACKAGE_VERSION@/mainline/' \
- -e 's/@abs_top_builddir@/../g' > $@
+ -e 's/@abs_builddir@/./g' > $@
endif
include $(CLANG_LEVEL)/Makefile
Modified: vendor/clang/dist/docs/UsersManual.html
==============================================================================
--- vendor/clang/dist/docs/UsersManual.html Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/docs/UsersManual.html Sun Jun 12 15:46:16 2011 (r223015)
@@ -273,6 +273,35 @@ when this is enabled, Clang will print s
</pre>
</dd>
<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fdiagnostics-format"><b>-fdiagnostics-format=clang/msvc/vi</b>:
+Changes diagnostic output format to better match IDEs and command line tools.</dt>
+<dd>This option controls the output format of the filename, line number, and column printed in diagnostic messages. The options, and their affect on formatting a simple conversion diagnostic, follow:
+
+ <dl>
+ <dt><b>clang</b> (default)</dt>
+ <dd>
+ <pre>t.c:3:11: warning: conversion specifies type 'char *' but the argument has type 'int'</pre>
+ </dd>
+
+ <dt><b>msvc</b></dt>
+ <dd>
+ <pre>t.c(3,11) : warning: conversion specifies type 'char *' but the argument has type 'int'</pre>
+ </dd>
+
+ <dt><b>vi</b></dt>
+ <dd>
+ <pre>t.c +3:11: warning: conversion specifies type 'char *' but the argument has type 'int'</pre>
+ </dd>
+ </dl>
+</dd>
+
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
+<dt id="opt_fdiagnostics-show-name"><b>-f[no-]diagnostics-show-name</b>:
+Enable the display of the diagnostic name.</dt>
+<dd>This option, which defaults to off, controls whether or not
+Clang prints the associated name.</dd>
+<br>
+<!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
<dt id="opt_fdiagnostics-show-option"><b>-f[no-]diagnostics-show-option</b>:
Enable <tt>[-Woption]</tt> information in diagnostic line.</dt>
<dd>This option, which defaults to on,
@@ -499,6 +528,8 @@ it:</p>
<li>A categorization of the diagnostic as a note, warning, error, or fatal
error.</li>
<li>A text string that describes what the problem is.</li>
+<li>An option that indicates whether to print the diagnostic name [<a
+ href="#opt_fdiagnostics-show-name">-fdiagnostics-show-name</a>].</li>
<li>An option that indicates how to control the diagnostic (for diagnostics that
support it) [<a
href="#opt_fdiagnostics-show-option">-fdiagnostics-show-option</a>].</li>
Modified: vendor/clang/dist/docs/doxygen.cfg.in
==============================================================================
--- vendor/clang/dist/docs/doxygen.cfg.in Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/docs/doxygen.cfg.in Sun Jun 12 15:46:16 2011 (r223015)
@@ -30,7 +30,7 @@ PROJECT_NUMBER = @PACKAGE_VERSIO
# If a relative path is entered, it will be relative to the location
# where doxygen was started. If left blank the current directory will be used.
-OUTPUT_DIRECTORY = @abs_top_builddir@/docs/doxygen
+OUTPUT_DIRECTORY = @abs_builddir@/doxygen
# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
# 4096 sub-directories (in 2 levels) under the output directory of each output
@@ -450,9 +450,9 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = @abs_top_srcdir@/include \
- @abs_top_srcdir@/lib \
- @abs_top_srcdir@/docs/doxygen.intro
+INPUT = @abs_srcdir@/../include \
+ @abs_srcdir@/../lib \
+ @abs_srcdir@/doxygen.intro
# If the value of the INPUT tag contains directories, you can use the
# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
@@ -493,7 +493,7 @@ EXCLUDE_PATTERNS =
# directories that contain example code fragments that are included (see
# the \include command).
-EXAMPLE_PATH = @abs_top_srcdir@/examples
+EXAMPLE_PATH = @abs_srcdir@/../examples
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
@@ -513,7 +513,7 @@ EXAMPLE_RECURSIVE = YES
# directories that contain image that are included in the documentation (see
# the \image command).
-IMAGE_PATH = @abs_top_srcdir@/docs/img
+IMAGE_PATH = @abs_srcdir@/img
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@@ -636,13 +636,13 @@ HTML_FILE_EXTENSION = .html
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
-HTML_HEADER = @abs_top_srcdir@/docs/doxygen.header
+HTML_HEADER = @abs_srcdir@/doxygen.header
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
-HTML_FOOTER = @abs_top_srcdir@/docs/doxygen.footer
+HTML_FOOTER = @abs_srcdir@/doxygen.footer
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
@@ -651,7 +651,7 @@ HTML_FOOTER = @abs_top_srcdir
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
-HTML_STYLESHEET = @abs_top_srcdir@/docs/doxygen.css
+HTML_STYLESHEET = @abs_srcdir@/doxygen.css
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
Modified: vendor/clang/dist/examples/CMakeLists.txt
==============================================================================
--- vendor/clang/dist/examples/CMakeLists.txt Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/examples/CMakeLists.txt Sun Jun 12 15:46:16 2011 (r223015)
@@ -1,3 +1,2 @@
add_subdirectory(clang-interpreter)
add_subdirectory(PrintFunctionNames)
-add_subdirectory(Tooling)
Modified: vendor/clang/dist/examples/clang-interpreter/Makefile
==============================================================================
--- vendor/clang/dist/examples/clang-interpreter/Makefile Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/examples/clang-interpreter/Makefile Sun Jun 12 15:46:16 2011 (r223015)
@@ -18,7 +18,8 @@ TOOL_NO_EXPORTS = 1
LINK_COMPONENTS := jit interpreter nativecodegen bitreader bitwriter ipo \
selectiondag asmparser instrumentation
USEDLIBS = clangFrontend.a clangSerialization.a clangDriver.a clangCodeGen.a \
- clangSema.a clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangAnalysis.a clangRewrite.a \
- clangAST.a clangParse.a clangLex.a clangBasic.a
+ clangParse.a clangSema.a clangStaticAnalyzerFrontend.a \
+ clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \
+ clangAnalysis.a clangRewrite.a clangAST.a clangLex.a clangBasic.a
include $(CLANG_LEVEL)/Makefile
Modified: vendor/clang/dist/examples/clang-interpreter/main.cpp
==============================================================================
--- vendor/clang/dist/examples/clang-interpreter/main.cpp Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/examples/clang-interpreter/main.cpp Sun Jun 12 15:46:16 2011 (r223015)
@@ -94,7 +94,7 @@ int main(int argc, const char **argv, ch
// 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())) {
+ 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);
Modified: vendor/clang/dist/examples/wpa/Makefile
==============================================================================
--- vendor/clang/dist/examples/wpa/Makefile Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/examples/wpa/Makefile Sun Jun 12 15:46:16 2011 (r223015)
@@ -16,8 +16,11 @@ NO_INSTALL = 1
TOOL_NO_EXPORTS = 1
LINK_COMPONENTS := asmparser bitreader mc core
-USEDLIBS = clangStaticAnalyzerFrontend.a clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a clangIndex.a clangFrontend.a clangDriver.a \
- clangSema.a clangAnalysis.a clangSerialization.a \
- clangAST.a clangParse.a clangLex.a clangBasic.a
+USEDLIBS = clangStaticAnalyzerFrontend.a \
+ clangStaticAnalyzerCheckers.a \
+ clangStaticAnalyzerCore.a \
+ clangIndex.a clangFrontend.a clangDriver.a \
+ clangParse.a clangSema.a clangAnalysis.a clangSerialization.a \
+ clangAST.a clangLex.a clangBasic.a
include $(CLANG_LEVEL)/Makefile
Modified: vendor/clang/dist/include/clang-c/Index.h
==============================================================================
--- vendor/clang/dist/include/clang-c/Index.h Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/include/clang-c/Index.h Sun Jun 12 15:46:16 2011 (r223015)
@@ -222,6 +222,14 @@ CINDEX_LINKAGE CXString clang_getFileNam
CINDEX_LINKAGE time_t clang_getFileTime(CXFile SFile);
/**
+ * \brief Determine whether the given header is guarded against
+ * multiple inclusions, either with the conventional
+ * #ifndef/#define/#endif macro guards or with #pragma once.
+ */
+CINDEX_LINKAGE unsigned
+clang_isFileMultipleIncludeGuarded(CXTranslationUnit tu, CXFile file);
+
+/**
* \brief Retrieve a file handle within the given translation unit.
*
* \param tu the translation unit
@@ -821,7 +829,18 @@ enum CXTranslationUnit_Flags {
* Note: this is a *temporary* option that is available only while
* we are testing C++ precompiled preamble support.
*/
- CXTranslationUnit_CXXChainedPCH = 0x20
+ CXTranslationUnit_CXXChainedPCH = 0x20,
+
+ /**
+ * \brief Used to indicate that the "detailed" preprocessing record,
+ * if requested, should also contain nested macro instantiations.
+ *
+ * Nested macro instantiations (i.e., macro instantiations that occur
+ * inside another macro instantiation) can, in some code bases, require
+ * a large amount of storage to due preprocessor metaprogramming. Moreover,
+ * its fairly rare that this information is useful for libclang clients.
+ */
+ CXTranslationUnit_NestedMacroInstantiations = 0x40
};
/**
@@ -1027,12 +1046,14 @@ enum CXTUResourceUsageKind {
CXTUResourceUsage_SourceManager_Membuffer_MMap = 8,
CXTUResourceUsage_ExternalASTSource_Membuffer_Malloc = 9,
CXTUResourceUsage_ExternalASTSource_Membuffer_MMap = 10,
+ CXTUResourceUsage_Preprocessor = 11,
+ CXTUResourceUsage_PreprocessingRecord = 12,
CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN = CXTUResourceUsage_AST,
CXTUResourceUsage_MEMORY_IN_BYTES_END =
- CXTUResourceUsage_ExternalASTSource_Membuffer_MMap,
+ CXTUResourceUsage_PreprocessingRecord,
CXTUResourceUsage_First = CXTUResourceUsage_AST,
- CXTUResourceUsage_Last = CXTUResourceUsage_ExternalASTSource_Membuffer_MMap
+ CXTUResourceUsage_Last = CXTUResourceUsage_PreprocessingRecord
};
/**
@@ -1166,8 +1187,12 @@ enum CXCursorKind {
CXCursor_UsingDeclaration = 35,
/** \brief A C++ alias declaration */
CXCursor_TypeAliasDecl = 36,
+ /** \brief An Objective-C @synthesize definition. */
+ CXCursor_ObjCSynthesizeDecl = 37,
+ /** \brief An Objective-C @dynamic definition. */
+ CXCursor_ObjCDynamicDecl = 38,
CXCursor_FirstDecl = CXCursor_UnexposedDecl,
- CXCursor_LastDecl = CXCursor_TypeAliasDecl,
+ CXCursor_LastDecl = CXCursor_ObjCDynamicDecl,
/* References */
CXCursor_FirstRef = 40, /* Decl references */
@@ -2246,6 +2271,13 @@ CINDEX_LINKAGE CXCursor clang_getCanonic
CINDEX_LINKAGE unsigned clang_CXXMethod_isStatic(CXCursor C);
/**
+ * \brief Determine if a C++ member function or member function template is
+ * explicitly declared 'virtual' or if it overrides a virtual method from
+ * one of the base classes.
+ */
+CINDEX_LINKAGE unsigned clang_CXXMethod_isVirtual(CXCursor C);
+
+/**
* \brief Given a cursor that represents a template, determine
* the cursor kind of the specializations would be generated by instantiating
* the template.
Modified: vendor/clang/dist/include/clang/AST/APValue.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/APValue.h Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/include/clang/AST/APValue.h Sun Jun 12 15:46:16 2011 (r223015)
@@ -85,10 +85,10 @@ public:
APValue(const APValue &RHS) : Kind(Uninitialized) {
*this = RHS;
}
- APValue(Expr* B, const CharUnits &O) : Kind(Uninitialized) {
+ APValue(const Expr* B, const CharUnits &O) : Kind(Uninitialized) {
MakeLValue(); setLValue(B, O);
}
- APValue(Expr* B);
+ APValue(const Expr* B);
~APValue() {
MakeUninit();
@@ -167,7 +167,7 @@ public:
return const_cast<APValue*>(this)->getComplexFloatImag();
}
- Expr* getLValueBase() const;
+ const Expr* getLValueBase() const;
CharUnits getLValueOffset() const;
void setInt(const APSInt &I) {
@@ -199,7 +199,7 @@ public:
((ComplexAPFloat*)(char*)Data)->Real = R;
((ComplexAPFloat*)(char*)Data)->Imag = I;
}
- void setLValue(Expr *B, const CharUnits &O);
+ void setLValue(const Expr *B, const CharUnits &O);
const APValue &operator=(const APValue &RHS);
Modified: vendor/clang/dist/include/clang/AST/ASTContext.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/ASTContext.h Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/include/clang/AST/ASTContext.h Sun Jun 12 15:46:16 2011 (r223015)
@@ -406,6 +406,21 @@ public:
/// bitfield which follows the bitfield 'LastFD'.
bool ZeroBitfieldFollowsBitfield(const FieldDecl *FD,
const FieldDecl *LastFD) const;
+
+ /// BitfieldFollowsBitfield - return 'true" if 'FD' is a
+ /// bitfield which follows the bitfield 'LastFD'.
+ bool BitfieldFollowsBitfield(const FieldDecl *FD,
+ const FieldDecl *LastFD) const;
+
+ /// NoneBitfieldFollowsBitfield - return 'true" if 'FD' is not a
+ /// bitfield which follows the bitfield 'LastFD'.
+ bool NoneBitfieldFollowsBitfield(const FieldDecl *FD,
+ const FieldDecl *LastFD) const;
+
+ /// BitfieldFollowsNoneBitfield - return 'true" if 'FD' is a
+ /// bitfield which follows the none bitfield 'LastFD'.
+ bool BitfieldFollowsNoneBitfield(const FieldDecl *FD,
+ const FieldDecl *LastFD) const;
// Access to the set of methods overridden by the given C++ method.
typedef CXXMethodVector::iterator overridden_cxx_method_iterator;
@@ -764,6 +779,10 @@ public:
/// getDecltypeType - C++0x decltype.
QualType getDecltypeType(Expr *e) const;
+ /// getUnaryTransformType - unary type transforms
+ QualType getUnaryTransformType(QualType BaseType, QualType UnderlyingType,
+ UnaryTransformType::UTTKind UKind) const;
+
/// getAutoType - C++0x deduced auto type.
QualType getAutoType(QualType DeducedType) const;
@@ -895,12 +914,18 @@ public:
std::string &S) const;
/// getObjCEncodingForFunctionDecl - Returns the encoded type for this
- //function. This is in the same format as Objective-C method encodings.
- void getObjCEncodingForFunctionDecl(const FunctionDecl *Decl, std::string& S);
+ /// function. This is in the same format as Objective-C method encodings.
+ ///
+ /// \returns true if an error occurred (e.g., because one of the parameter
+ /// types is incomplete), false otherwise.
+ bool getObjCEncodingForFunctionDecl(const FunctionDecl *Decl, std::string& S);
/// getObjCEncodingForMethodDecl - Return the encoded type for this method
/// declaration.
- void getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, std::string &S)
+ ///
+ /// \returns true if an error occurred (e.g., because one of the parameter
+ /// types is incomplete), false otherwise.
+ bool getObjCEncodingForMethodDecl(const ObjCMethodDecl *Decl, std::string &S)
const;
/// getObjCEncodingForBlock - Return the encoded type for this block
@@ -1438,7 +1463,8 @@ public:
/// MakeIntValue - Make an APSInt of the appropriate width and
/// signedness for the given \arg Value and integer \arg Type.
llvm::APSInt MakeIntValue(uint64_t Value, QualType Type) const {
- llvm::APSInt Res(getIntWidth(Type), !Type->isSignedIntegerType());
+ llvm::APSInt Res(getIntWidth(Type),
+ !Type->isSignedIntegerOrEnumerationType());
Res = Value;
return Res;
}
@@ -1526,6 +1552,13 @@ public:
/// which declarations were built.
static unsigned NumImplicitCopyConstructorsDeclared;
+ /// \brief The number of implicitly-declared move constructors.
+ static unsigned NumImplicitMoveConstructors;
+
+ /// \brief The number of implicitly-declared move constructors for
+ /// which declarations were built.
+ static unsigned NumImplicitMoveConstructorsDeclared;
+
/// \brief The number of implicitly-declared copy assignment operators.
static unsigned NumImplicitCopyAssignmentOperators;
@@ -1533,6 +1566,13 @@ public:
/// which declarations were built.
static unsigned NumImplicitCopyAssignmentOperatorsDeclared;
+ /// \brief The number of implicitly-declared move assignment operators.
+ static unsigned NumImplicitMoveAssignmentOperators;
+
+ /// \brief The number of implicitly-declared move assignment operators for
+ /// which declarations were built.
+ static unsigned NumImplicitMoveAssignmentOperatorsDeclared;
+
/// \brief The number of implicitly-declared destructors.
static unsigned NumImplicitDestructors;
@@ -1553,7 +1593,13 @@ private:
bool ExpandStructures,
const FieldDecl *Field,
bool OutermostType = false,
- bool EncodingProperty = false) const;
+ bool EncodingProperty = false,
+ bool StructField = false) const;
+
+ // Adds the encoding of the structure's members.
+ void getObjCEncodingForStructureImpl(RecordDecl *RD, std::string &S,
+ const FieldDecl *Field,
+ bool includeVBases = true) const;
const ASTRecordLayout &
getObjCLayout(const ObjCInterfaceDecl *D,
Modified: vendor/clang/dist/include/clang/AST/CanonicalType.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/CanonicalType.h Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/include/clang/AST/CanonicalType.h Sun Jun 12 15:46:16 2011 (r223015)
@@ -291,6 +291,8 @@ public:
LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isPromotableIntegerType)
LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSignedIntegerType)
LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isUnsignedIntegerType)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSignedIntegerOrEnumerationType)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isUnsignedIntegerOrEnumerationType)
LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isConstantSizeType)
LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(bool, isSpecifierType)
@@ -630,6 +632,14 @@ struct CanProxyAdaptor<DecltypeType> : p
LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getUnderlyingType)
};
+template <>
+struct CanProxyAdaptor<UnaryTransformType>
+ : public CanProxyBase<UnaryTransformType> {
+ LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getBaseType)
+ LLVM_CLANG_CANPROXY_TYPE_ACCESSOR(getUnderlyingType)
+ LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(UnaryTransformType::UTTKind, getUTTKind)
+};
+
template<>
struct CanProxyAdaptor<TagType> : public CanProxyBase<TagType> {
LLVM_CLANG_CANPROXY_SIMPLE_ACCESSOR(TagDecl *, getDecl)
Modified: vendor/clang/dist/include/clang/AST/Decl.h
==============================================================================
--- vendor/clang/dist/include/clang/AST/Decl.h Sun Jun 12 15:44:14 2011 (r223014)
+++ vendor/clang/dist/include/clang/AST/Decl.h Sun Jun 12 15:46:16 2011 (r223015)
@@ -1365,6 +1365,8 @@ private:
bool HasWrittenPrototype : 1;
bool IsDeleted : 1;
bool IsTrivial : 1; // sunk from CXXMethodDecl
+ bool IsDefaulted : 1; // sunk from CXXMethoDecl
+ bool IsExplicitlyDefaulted : 1; //sunk from CXXMethodDecl
bool HasImplicitReturnZero : 1;
bool IsLateTemplateParsed : 1;
@@ -1448,6 +1450,7 @@ protected:
IsInline(isInlineSpecified), IsInlineSpecified(isInlineSpecified),
IsVirtualAsWritten(false), IsPure(false), HasInheritedPrototype(false),
HasWrittenPrototype(true), IsDeleted(false), IsTrivial(false),
+ IsDefaulted(false), IsExplicitlyDefaulted(false),
HasImplicitReturnZero(false), IsLateTemplateParsed(false),
EndRangeLoc(NameInfo.getEndLoc()),
TemplateOrSpecialization(),
@@ -1512,6 +1515,20 @@ public:
return hasBody(Definition);
}
+ /// hasTrivialBody - Returns whether the function has a trivial body that does
+ /// not require any specific codegen.
+ bool hasTrivialBody() const;
+
+ /// isDefined - Returns true if the function is defined at all, including
+ /// a deleted definition. Except for the behavior when the function is
+ /// deleted, behaves like hasBody.
+ bool isDefined(const FunctionDecl *&Definition) const;
+
+ virtual bool isDefined() const {
+ const FunctionDecl* Definition;
+ return isDefined(Definition);
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-all
mailing list