diff options
author | John McCall <rjmccall@apple.com> | 2011-07-06 00:26:06 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2011-07-06 00:26:06 +0000 |
commit | 9f084a3166b684573ba49df28fc5792bc37d92e1 (patch) | |
tree | d2976a87e54f0ef1014c769e44f86ab27212176f /lib/ARCMigrate/TransProperties.cpp | |
parent | 9670e179a67d868e171feac44fb8f9e2f108c5e8 (diff) |
Change the driver's logic about Objective-C runtimes: abstract out a
structure to hold inferred information, then propagate each invididual
bit down to -cc1. Separate the bits of "supports weak" and "has a native
ARC runtime"; make the latter a CodeGenOption.
The tool chain is still driving this decision, because it's the place that
has the required deployment target information on Darwin, but at least it's
better-factored now.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@134453 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/ARCMigrate/TransProperties.cpp')
-rw-r--r-- | lib/ARCMigrate/TransProperties.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/ARCMigrate/TransProperties.cpp b/lib/ARCMigrate/TransProperties.cpp index e0009ac241..0efc4c0fad 100644 --- a/lib/ARCMigrate/TransProperties.cpp +++ b/lib/ARCMigrate/TransProperties.cpp @@ -112,7 +112,7 @@ public: } void applyWeak(PropData &prop) { - assert(!Pass.Ctx.getLangOptions().ObjCNoAutoRefCountRuntime); + assert(Pass.Ctx.getLangOptions().ObjCRuntimeHasWeak); Transaction Trans(Pass.TA); Pass.TA.insert(prop.IvarD->getLocation(), "__weak "); @@ -157,7 +157,7 @@ public: // There is a "error: existing ivar for assign property must be // __unsafe_unretained"; fix it. - if (Pass.Ctx.getLangOptions().ObjCNoAutoRefCountRuntime) { + if (!Pass.Ctx.getLangOptions().ObjCRuntimeHasWeak) { // We will just add __unsafe_unretained to the ivar. Transaction Trans(Pass.TA); Pass.TA.insert(ivarD->getLocation(), "__unsafe_unretained "); |