Signed word lengths and indexes

"Jérôme M. Berger" jeberger at free.fr
Wed Jun 16 11:24:16 PDT 2010


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:jeberger at free.fr
http://jeberger.free.fr
Jabber: jeberger at jabber.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20100616/fd94d6a1/attachment.pgp>


More information about the Digitalmars-d mailing list