aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohn McCall <rjmccall@apple.com>2011-06-15 23:02:42 +0000
committerJohn McCall <rjmccall@apple.com>2011-06-15 23:02:42 +0000
commitf85e193739c953358c865005855253af4f68a497 (patch)
treee242284beb7fd2b88a2f3ce08644585497d5910d
parent204e13395d83524e9a557c3f3fd6df2e2f353b9d (diff)
Automatic Reference Counting.
Language-design credit goes to a lot of people, but I particularly want to single out Blaine Garst and Patrick Beard for their contributions. Compiler implementation credit goes to Argyrios, Doug, Fariborz, and myself, in no particular order. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@133103 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--docs/LanguageExtensions.html7
-rw-r--r--include/clang/AST/ASTContext.h16
-rw-r--r--include/clang/AST/CanonicalType.h2
-rw-r--r--include/clang/AST/DeclObjC.h19
-rw-r--r--include/clang/AST/Expr.h2
-rw-r--r--include/clang/AST/ExprObjC.h130
-rw-r--r--include/clang/AST/OperationKinds.h25
-rw-r--r--include/clang/AST/ParentMap.h1
-rw-r--r--include/clang/AST/PrettyPrinter.h6
-rw-r--r--include/clang/AST/RecursiveASTVisitor.h5
-rw-r--r--include/clang/AST/Stmt.h8
-rw-r--r--include/clang/AST/StmtObjC.h33
-rw-r--r--include/clang/AST/Type.h238
-rw-r--r--include/clang/Basic/Attr.td5
-rw-r--r--include/clang/Basic/DiagnosticCommonKinds.td1
-rw-r--r--include/clang/Basic/DiagnosticDriverKinds.td4
-rw-r--r--include/clang/Basic/DiagnosticFrontendKinds.td3
-rw-r--r--include/clang/Basic/DiagnosticGroups.td2
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td188
-rw-r--r--include/clang/Basic/LangOptions.h6
-rw-r--r--include/clang/Basic/StmtNodes.td5
-rw-r--r--include/clang/Basic/TokenKinds.def6
-rw-r--r--include/clang/Driver/CC1Options.td15
-rw-r--r--include/clang/Driver/Options.td15
-rw-r--r--include/clang/Driver/ToolChain.h6
-rw-r--r--include/clang/Frontend/CodeGenOptions.h2
-rw-r--r--include/clang/Frontend/FrontendOptions.h8
-rw-r--r--include/clang/Frontend/PreprocessorOptions.h17
-rw-r--r--include/clang/Frontend/Utils.h1
-rw-r--r--include/clang/Parse/Parser.h4
-rw-r--r--include/clang/Rewrite/Rewriter.h5
-rw-r--r--include/clang/Sema/AttributeList.h3
-rw-r--r--include/clang/Sema/DeclSpec.h16
-rw-r--r--include/clang/Sema/DelayedDiagnostic.h41
-rw-r--r--include/clang/Sema/Initialization.h101
-rw-r--r--include/clang/Sema/Overload.h18
-rw-r--r--include/clang/Sema/Sema.h128
-rw-r--r--include/clang/Serialization/ASTBitCodes.h12
-rw-r--r--lib/AST/ASTContext.cpp52
-rw-r--r--lib/AST/DeclCXX.cpp36
-rw-r--r--lib/AST/DeclObjC.cpp24
-rw-r--r--lib/AST/DeclPrinter.cpp5
-rw-r--r--lib/AST/Expr.cpp36
-rw-r--r--lib/AST/ExprClassification.cpp2
-rw-r--r--lib/AST/ExprConstant.cpp19
-rw-r--r--lib/AST/ItaniumMangle.cpp42
-rw-r--r--lib/AST/ParentMap.cpp9
-rw-r--r--lib/AST/StmtPrinter.cpp17
-rw-r--r--lib/AST/StmtProfile.cpp15
-rw-r--r--lib/AST/Type.cpp407
-rw-r--r--lib/AST/TypePrinter.cpp117
-rw-r--r--lib/Analysis/ReachableCode.cpp6
-rw-r--r--lib/Basic/DiagnosticIDs.cpp5
-rw-r--r--lib/Basic/IdentifierTable.cpp7
-rw-r--r--lib/Basic/Targets.cpp36
-rw-r--r--lib/CodeGen/CGBlocks.cpp224
-rw-r--r--lib/CodeGen/CGBlocks.h2
-rw-r--r--lib/CodeGen/CGCall.cpp274
-rw-r--r--lib/CodeGen/CGCall.h47
-rw-r--r--lib/CodeGen/CGClass.cpp93
-rw-r--r--lib/CodeGen/CGDebugInfo.cpp1
-rw-r--r--lib/CodeGen/CGDecl.cpp256
-rw-r--r--lib/CodeGen/CGDeclCXX.cpp27
-rw-r--r--lib/CodeGen/CGException.cpp6
-rw-r--r--lib/CodeGen/CGExpr.cpp216
-rw-r--r--lib/CodeGen/CGExprAgg.cpp24
-rw-r--r--lib/CodeGen/CGExprCXX.cpp90
-rw-r--r--lib/CodeGen/CGExprConstant.cpp2
-rw-r--r--lib/CodeGen/CGExprScalar.cpp57
-rw-r--r--lib/CodeGen/CGObjC.cpp1379
-rw-r--r--lib/CodeGen/CGObjCGNU.cpp4
-rw-r--r--lib/CodeGen/CGObjCMac.cpp129
-rw-r--r--lib/CodeGen/CGObjCRuntime.h8
-rw-r--r--lib/CodeGen/CGStmt.cpp5
-rw-r--r--lib/CodeGen/CGValue.h28
-rw-r--r--lib/CodeGen/CodeGenFunction.cpp19
-rw-r--r--lib/CodeGen/CodeGenFunction.h83
-rw-r--r--lib/CodeGen/CodeGenModule.cpp21
-rw-r--r--lib/CodeGen/CodeGenModule.h87
-rw-r--r--lib/CodeGen/ItaniumCXXABI.cpp35
-rw-r--r--lib/CodeGen/TargetInfo.cpp6
-rw-r--r--lib/CodeGen/TargetInfo.h14
-rw-r--r--lib/Driver/ToolChain.cpp9
-rw-r--r--lib/Driver/ToolChains.cpp97
-rw-r--r--lib/Driver/ToolChains.h18
-rw-r--r--lib/Driver/Tools.cpp44
-rw-r--r--lib/Frontend/CompilerInvocation.cpp45
-rw-r--r--lib/Frontend/InitPreprocessor.cpp145
-rw-r--r--lib/Lex/PPMacroExpansion.cpp5
-rw-r--r--lib/Parse/ParseDecl.cpp4
-rw-r--r--lib/Parse/ParseExpr.cpp32
-rw-r--r--lib/Parse/ParseObjc.cpp42
-rw-r--r--lib/Rewrite/FixItRewriter.cpp3
-rw-r--r--lib/Rewrite/Rewriter.cpp73
-rw-r--r--lib/Sema/AttributeList.cpp5
-rw-r--r--lib/Sema/DelayedDiagnostic.cpp3
-rw-r--r--lib/Sema/JumpDiagnostics.cpp144
-rw-r--r--lib/Sema/Sema.cpp40
-rw-r--r--lib/Sema/SemaCXXCast.cpp137
-rw-r--r--lib/Sema/SemaChecking.cpp282
-rw-r--r--lib/Sema/SemaCodeComplete.cpp97
-rw-r--r--lib/Sema/SemaDecl.cpp240
-rw-r--r--lib/Sema/SemaDeclAttr.cpp112
-rw-r--r--lib/Sema/SemaDeclCXX.cpp45
-rw-r--r--lib/Sema/SemaDeclObjC.cpp429
-rw-r--r--lib/Sema/SemaExpr.cpp229
-rw-r--r--lib/Sema/SemaExprCXX.cpp308
-rw-r--r--lib/Sema/SemaExprObjC.cpp409
-rw-r--r--lib/Sema/SemaInit.cpp315
-rw-r--r--lib/Sema/SemaObjCProperty.cpp383
-rw-r--r--lib/Sema/SemaOverload.cpp298
-rw-r--r--lib/Sema/SemaStmt.cpp51
-rw-r--r--lib/Sema/SemaTemplate.cpp15
-rw-r--r--lib/Sema/SemaTemplateDeduction.cpp7
-rw-r--r--lib/Sema/SemaType.cpp313
-rw-r--r--lib/Sema/TreeTransform.h84
-rw-r--r--lib/Sema/TypeLocBuilder.h9
-rw-r--r--lib/Serialization/ASTReader.cpp15
-rw-r--r--lib/Serialization/ASTReaderStmt.cpp34
-rw-r--r--lib/Serialization/ASTWriter.cpp3
-rw-r--r--lib/Serialization/ASTWriterStmt.cpp26
-rw-r--r--lib/StaticAnalyzer/Checkers/DeadStoresChecker.cpp6
-rw-r--r--lib/StaticAnalyzer/Checkers/StackAddrEscapeChecker.cpp20
-rw-r--r--lib/StaticAnalyzer/Core/CFRefCount.cpp107
-rw-r--r--lib/StaticAnalyzer/Core/ExprEngine.cpp47
-rw-r--r--test/Analysis/objc-arc.m149
-rw-r--r--test/Analysis/pr4209.m6
-rw-r--r--test/CodeGenObjC/arc-arm.m20
-rw-r--r--test/CodeGenObjC/arc-block-ivar-layout.m60
-rw-r--r--test/CodeGenObjC/arc-bridged-cast.m90
-rw-r--r--test/CodeGenObjC/arc-foreach.m27
-rw-r--r--test/CodeGenObjC/arc-ivar-layout.m44
-rw-r--r--test/CodeGenObjC/arc-no-runtime.m9
-rw-r--r--test/CodeGenObjC/arc-related-result-type.m30
-rw-r--r--test/CodeGenObjC/arc-unopt.m69
-rw-r--r--test/CodeGenObjC/arc-weak-property.m55
-rw-r--r--test/CodeGenObjC/arc.m1511
-rw-r--r--test/CodeGenObjC/autorelease.m30<