r199682 - ObjectiveC driver. reinstate -fno-objc-legacy-dispatch behavior
jahanian
fjahanian at apple.com
Tue Jan 21 16:49:40 PST 2014
On Jan 21, 2014, at 4:29 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>
> On Jan 21, 2014, at 4:13 PM, jahanian <fjahanian at apple.com> wrote:
>
>>
>> On Jan 21, 2014, at 4:08 PM, Bob Wilson <bob.wilson at apple.com> wrote:
>>
>>>
>>> On Jan 20, 2014, at 11:32 AM, Fariborz Jahanian <fjahanian at apple.com> wrote:
>>>
>>>> Author: fjahanian
>>>> Date: Mon Jan 20 13:32:33 2014
>>>> New Revision: 199682
>>>>
>>>> URL: http://llvm.org/viewvc/llvm-project?rev=199682&view=rev
>>>> Log:
>>>> ObjectiveC driver. reinstate -fno-objc-legacy-dispatch behavior
>>>> when the deployment target is 10.5. // rdar://15852259
>>>>
>>>> Modified:
>>>> cfe/trunk/include/clang/Basic/ObjCRuntime.h
>>>> cfe/trunk/lib/Driver/Tools.cpp
>>>> cfe/trunk/test/Driver/darwin-objc-defaults.m
>>>>
>>>> Modified: cfe/trunk/include/clang/Basic/ObjCRuntime.h
>>>> URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/ObjCRuntime.h?rev=199682&r1=199681&r2=199682&view=diff
>>>> ==============================================================================
>>>> --- cfe/trunk/include/clang/Basic/ObjCRuntime.h (original)
>>>> +++ cfe/trunk/include/clang/Basic/ObjCRuntime.h Mon Jan 20 13:32:33 2014
>>>> @@ -99,6 +99,15 @@ public:
>>>> Arch == llvm::Triple::x86_64)
>>>> return false;
>>>> }
>>>> + else if (isNeXTFamily() && getVersion().getMajor() == 10) {
>>>> + unsigned minor = 0;
>>>> + if (getVersion().getMinor().hasValue())
>>>> + minor = getVersion().getMinor().getValue();
>>>> + if (minor == 5 &&
>>>> + (Arch == llvm::Triple::x86 || Arch == llvm::Triple::x86_64))
>>>> + return false;
>>>> + }
>>>> + // Except for deployment target of 10.5,
>>>> // Mac runtimes use legacy dispatch everywhere now.
>>>> return true;
>>>> }
>>>
>>> isNextFamily() returns true for iOS. We haven’t gotten to iOS 10 yet, but in the interest of future-proofing, I think this needs to check specifically for OS X.
>> OK.
>>
>>>
>>> The version check can just be "getVersion() == VersionTuple(10, 5)", can’t it?
>>
>> No. This fails for, say, 10.5.2 (but not for pure 10.5).
>
> OK, well, how about checking for 10.5 <= version < 10.6? I just find the getVersion().getMinor().hasValue() code really hard to read.
In r199780.
- Fariborz
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140121/29a1f2d5/attachment.html>
More information about the cfe-commits
mailing list