bug-gnu-libiconv
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bug-gnu-libiconv] [PATCH] make genaliases* llp64 compatible


From: Ozkan Sezer
Subject: Re: [bug-gnu-libiconv] [PATCH] make genaliases* llp64 compatible
Date: Sun, 11 Jul 2010 15:35:01 +0300

On Sun, Jul 11, 2010 at 2:42 PM, Bruno Haible <address@hidden> wrote:
> Hi,
>
> Ozkan Sezer wrote:
>> > 1) It uses intptr_t without including the header file that is supposed
>> >   to define it, namely <stdint.h>. In fact, <stdint.h> is not even
>> >   present on OpenBSD 3.8, AIX 5.1, HP-UX 11, IRIX 6.5, OSF/1 5.1,
>> >   Interix 3.5, BeOS.
>> >
>>
>> As I told in my mail, size_t works in its stead, too.
>
> No, there is no guarantee that 'size_t' is as large as 'void *' or 'intptr_t'.
> In fact, on m68hc11 systems with gcc, 'size_t' is 'unsigned short', that is,
> 16 bits, whereas 'int', 'long', 'void *' are 32 bits wide.
>
>> > 2) sizeof(long) < sizeof(void*) is just stupid. Microsoft did it
>> >   because of backward compatibility. They spit on standards: They
>> >   are not even providing <stdint.h> and <inttypes.h> that are
>> >   specified in ISO C99.
>>
>> I am not a big fan of M$, but as you see M$ is not the only
>> one who do not follow the standarts.
>
> True, but the other vendors implement the "traditional Unix assumption"
> that 'long' and 'void *' are the same size.
>
>> what you are saying just comes to "win32 is supported but win64
>> will not be."
>
> Yes. Until someone submits a correct patch that makes use of intptr_t
> and <stdint.h>.
>

I guess that comes down to the attached patch which adds just
two entries to the configury and conditionally includes stdint.h
or inttypes.h in lib/iconv.c. It relies on new autoconf, and
since you seem to have switched to autoconf-2.66 it should just
work.

> Bruno
>

--
Ozkan

Attachment: llp64-2.diff
Description: Binary data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]