Walter Bright wrote: > Jérôme M. Berger wrote: >> Actually, that problem already occurs in C. I've had problems when >> porting code from x86 to x86_64 because some unsigned operations >> don't behave the same way on both... > > How so? I thought most 64 bit C compilers were specifically designed to > avoid this problem.
I can't isolate it to a minimal test case, but at my job, we make
an image processing library. Since negative image dimensions don't
make sense, we decided to define width and height as "unsigned int".
Now, we have code that works fine on 32-bit platforms (x86 and arm)
but segfaults on x86_64. Simply adding an (int) cast in front of the
image dimensions in a couple of places fixes the issue (tested with
various versions of gcc on linux and windows).
Jerome
--
mailto:[email protected]
http://jeberger.free.fr
Jabber: [email protected]
signature.asc
Description: OpenPGP digital signature
