On Oct 18, 2016, at 10:56 , Patrick Collins <patr...@collinatorstudios.com> wrote: > > I still am at a total loss as why that still resulted in the correct values > getting passed around on 64-bit iPhone 6 and iPhone 6+ devices. Why would > that behavior be different just on an iPad pro?
I don’t know the answer exactly, because it depends on a number of factors, possibly including random values left over from previous instructions. Depending on the circumstances at each call site, 8 bytes are being passed and 4 of them ignored, or 4 bytes are being passed and an additional 4 bytes of unrelated data are being accessed as part of the value. If it worked at all on 64-bit iPhones, then you should treat that as mere luck (or, really, *bad* luck). BTW, I believe the ARM hardware in iPhones can run both 32-bit and 64-bit executables (for compatibility with very old apps). It’s not outside the bounds of credibility that you might be building only 32-bit versions for that hardware. That is, if this project is pretty old, your build settings may be incorrect. Or, the graphics framework you’re linking to might be 32-bit. Diagnosing problems at that level is way beyond my pay grade. > Yeah unfortunately the game library uses CGFloats AND floats all over the > place. Yikes, that’s horrible. However, in most cases you’ll get reasonable results because the compiler will provide value conversions. It fails when you lie to the compiler about the parameter and return types, or when the compiler can’t determine the correct types. On Oct 18, 2016, at 10:56 , Wim Lewis <w...@omnigroup.com> wrote: > > I'm a little surprised that the compiler didn't warn or error when it had two > conflicting declarations for that method, actually. There is a compiler warning that can be turned on for this (one of the “mismatched selector” warnings), but in my experience there are too many false negatives *and* false positives, making the warning useless.
_______________________________________________ Do not post admin requests to the list. They will be ignored. Objc-language mailing list (Objcfirstname.lastname@example.org) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/objc-language/archive%40mail-archive.com This email sent to arch...@mail-archive.com