Joe

Thanks for the pointers, I’ve taken ownership of the issue and will see where I 
can get with it :-)

Mark

> On 17 Nov 2016, at 18:40, Joe Groff <jgr...@apple.com> wrote:
> 
> 
>> On Nov 16, 2016, at 10:07 PM, Mark Woollard via swift-dev 
>> <swift-dev@swift.org> wrote:
>> 
>> Hi
>> 
>> I decided to see if I could contribute and started looking into what seemed 
>> it would be a straightforward issue in Foundation framework for Linux. After 
>> debugging this led me to conclude it seems to be a more fundamental issue, 
>> maybe with the compiler code generation, around exception handling wrt 
>> Linux. I’d be interested in some feedback / guidance on this - am happy to 
>> take ownership and see where I might get with it but have a lot of learning 
>> to do !
>> 
>> The initial issue I looked at was SR-1547 in Foundation but this I 
>> determined to be the same issue as SR-585.
>> 
>> I’ve added some comments to these issues relating to my investigation. 
>> Anyone have any more insight into this issue or suggestions on where to look 
>> next ?
> 
> The NSError/Swift.Error "toll-free bridging" is a Darwin-only feature, since 
> the Linux port does not support bridging. From the description, it looks like 
> the compiler is still trying to apply the NSError toll-free bridging 
> optimization even on platforms where this is not supported. If I had to 
> guess, I'd say the problem lies here:
> 
> https://github.com/apple/swift/blob/master/lib/SIL/SILType.cpp#L461
> 
> The `isBridgedErrorClass` function should check whether ObjCInterop is 
> enabled in the LangOpts and unconditionally return false if it is disabled. 
> It would be good to also audit other places we look for NSError subclasses to 
> make sure we're only special casing them in ObjC Interop mode. Thanks for 
> investigating this!
> 
> -Joe

_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to