The reason for no issue on iOS 32 bit or watchOS is because the value is 
calculated via NSUInteger which does not overflow at the sign bits like Int. 
TBH I think the right way to solve this constant is to just emit the raw value 
directly instead of attempting to emulate c with bitwise or.

Sent from my iPhone

> On Sep 18, 2016, at 2:27 PM, Michael Gottesman <mgottes...@apple.com> wrote:
> 
> 
>> On Sep 16, 2016, at 4:37 PM, Eric Wing via swift-dev <swift-dev@swift.org> 
>> wrote:
>> 
>> I'm trying to build Swift 3 for Raspberry Pi 2/armv7.
>> 
>> I'm currently hitting a compile error at:
>> 
>> Foundation/NSXMLNode.swift:86:351: error: integer literal '4293918720'
>> overflows when stored into 'Int'.
>> 
>> public static let nodePreserveAll = Options(rawValue:
>> Options([.nodePreserveNamespaceOrder, .nodePreserveAttributeOrder,
>> .nodePreserveEntities, .nodePreservePrefixes, .nodePreserveCDATA,
>> .nodePreserveEmptyElements, .nodePreserveQuotes,
>> .nodePreserveWhitespace, .nodePreserveDTD,
>> .nodePreserveCharacterReferences]).rawValue | UInt(bitPattern:
>> 0xFFF00000))
>> 
>> 
>> I'm assuming this is probably related to the fact that the Pi2 (armv7)
>> is 32-bit, though I'm surprised this isn't already seen on iOS 32-bit.
>> What is the appropriate fix?
> 
> +CC Tony/Phillipe.
> 
>> 
>> Thanks,
>> Eric
>> _______________________________________________
>> swift-dev mailing list
>> swift-dev@swift.org
>> https://lists.swift.org/mailman/listinfo/swift-dev
> 
_______________________________________________
swift-dev mailing list
swift-dev@swift.org
https://lists.swift.org/mailman/listinfo/swift-dev

Reply via email to