[swift-corelibs-dev] exit
Philippe Hausler
phausler at apple.com
Sun Jan 17 12:14:36 CST 2016
So we should be using `@exported import Glibc` on linux and `@exported import Darwin` on darwin then? Does this need to be for every import of Glibc? or just one somewhere in the swift files?
> On Jan 17, 2016, at 10:11 AM, Chris Lattner <clattner at apple.com> wrote:
>
>>
>> On Jan 14, 2016, at 9:04 AM, Tony Parker via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> wrote:
>>
>> Do we control this via the module map or some other mechanism?
>>
>> I could see re-exporting Glibc on Linux as a reasonable solution for now.
>
> This seems like the best short-term solution to me.
>
> It would be ideal (IMO) to define a common “POSIX” (or something like that) module which would have shared unix level interfaces that would portable to all platforms. Then corelibs-foundation could re-export THAT module, providing a common set of APIs on all platforms. A POSIX module would also eliminate the annoying #import glibc/darwin #ifdef dance in many cases.
>
> -Chris
>
>>
>> - Tony
>>
>>> On Jan 14, 2016, at 9:04 AM, Philippe Hausler via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> wrote:
>>>
>>> The reason is that Foundation on darwin re-exports modules below it (by the virtue of objective-c headers) and the linux version is not re-exporting Glibc.
>>>
>>>> On Jan 14, 2016, at 8:44 AM, Drew Crawford via swift-corelibs-dev <swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>> wrote:
>>>>
>>>> on Darwin, we can say:
>>>>
>>>> import Foundation
>>>> exit(2)
>>>>
>>>> I'm not totally sure how this works, since exit is provided by Darwin, not by Foundation. But somehow importing Foundation imports Darwin as well.
>>>>
>>>> I think for source compatibility, we should support this, because people <http://stackoverflow.com/questions/34186994/swift-2-2-on-linux-use-of-unresolved-identifier-exit> are asking <http://stackoverflow.com/questions/24102157/seeking-an-exit-equivalent-in-swift> why it doesn't work out of the box.
>>>>
>>>> I considered PRing an exit implementation in corelibs-foundation, but I think that might cause the opposite problem–introduce a conflict between Darwin/Glibc exit and Foundation "exit".
>>>>
>>>> Can someone speak to how this is solved in Darwin Foundation and what we should do about it?
>>>>
>>>> _______________________________________________
>>>> swift-corelibs-dev mailing list
>>>> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
>>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
>>>
>>> _______________________________________________
>>> swift-corelibs-dev mailing list
>>> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
>>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
>>
>> _______________________________________________
>> swift-corelibs-dev mailing list
>> swift-corelibs-dev at swift.org <mailto:swift-corelibs-dev at swift.org>
>> https://lists.swift.org/mailman/listinfo/swift-corelibs-dev <https://lists.swift.org/mailman/listinfo/swift-corelibs-dev>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-corelibs-dev/attachments/20160117/3143f8bf/attachment.html>
More information about the swift-corelibs-dev
mailing list