[Top][All Lists]

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

[bug-diffutils] bug#24311: bug#24311: [PATCH] maint: accommodate LP64 sy

From: Paul Eggert
Subject: [bug-diffutils] bug#24311: bug#24311: [PATCH] maint: accommodate LP64 systems
Date: Fri, 26 Aug 2016 15:24:02 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

On 08/26/2016 02:59 PM, Peter Rosin wrote:
Feels designed to target 64-bit Windows.

It isn't. It's more the other way round. The Unix (and GNU) LP64 tradition came first, and the 64-bit MS-Windows designers made it hard to write 64-bit code that is portable among the platforms.

Do you, or do you not require c99?

It's not that simple. Although many GNU apps (including diffutils, I expect) assume some C99 features, they are typically portable to less-than-perfect POSIXish implementations that don't have all features that C99 requires.

The main sticking point in this particular case is support for printf formats like %td. This requires library support, which in practice trails behind compiler support. We can reasonably ask people to use a C99ish compiler even when running on older platforms (just install GCC). It hasn't been so easy to insist on a C99ish C library.

the POSIX part seems to be connected to c99, but what do I know?

POSIX assumes C99 or later nowadays.

Besides, I thought the gnulib inttypes module (or whatever it's called)
provided the PRI?PTR macros if missing/broken?

PRI?PTR are not the right macros to use here. The values in question are of type ptrdiff_t, and ptrdiff_t != intptr_t on some (admittedly unusual) platforms.

reply via email to

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