Re: PRI?64 vs Visual Studio (2022)

Peter Eisentraut <peter@eisentraut.org>

From: Peter Eisentraut <peter@eisentraut.org>
To: Thomas Munro <thomas.munro@gmail.com>, Tom Lane <tgl@sss.pgh.pa.us>
Cc: Kyotaro Horiguchi <horikyota.ntt@gmail.com>, pgsql-hackers@lists.postgresql.org
Date: 2025-11-25T14:55:12Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Test PRI* macros even when we can't test NLS translation.

  2. Avoid requiring Spanish locale to test NLS infrastructure.

  3. Drop support for MSVCRT's float formatting quirk.

  4. Drop support for MSVCRT's %I64 format strings.

  5. Use PRI?64 instead of "ll?" in format strings (continued).

  6. Use <stdint.h> and <inttypes.h> for c.h integers.

  7. Make float exponent output on Windows look the same as elsewhere.

On 24.11.25 00:03, Thomas Munro wrote:
> On Sun, Nov 23, 2025 at 4:25 PM Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Thomas Munro <thomas.munro@gmail.com> writes:
>>> That'd leave only Cygwin with HAVE BUGGY_STRTOF.  Perhaps they have
>>> fixed their implementation[1]?  Here's an experimental patch to drop
>>> all remnants, which could be used to find out.  No Windows/Cygwin
>>> here.  Hmm, what if we just commit it anyway?  If their strtof() is
>>> still broken and someone out there is running the tests and sees this
>>> test fail, why shouldn't they take that up with libc at this stage?
>>
>> Hmm, we could get rid of the whole resultmap mechanism ...
> 
> Yeah.  I thought I'd see what blowback my
> if-Cygwin-strtof()-really-is-still-broken-they-should-fix-it argument
> attracted before spending the time to nuke all those lines too.
> Here's that patch.  We could always revert resultmap we found a new
> reason to need it, but I hope we wouldn't.

These patches look sensible to me.

Maybe wait a bit to see if Andrew can manually reproduce the issue one 
way or the other on Cygwin.

Otherwise, I'd say go for it.