Re: Windows 64 bit warnings

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: Andrew Dunstan <andrew(at)dunslane(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Windows 64 bit warnings
Date: 2011-04-18 17:00:55
Message-ID: 3740.1303146055@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Alvaro Herrera <alvherre(at)commandprompt(dot)com> writes:
> Excerpts from Andrew Dunstan's message of sb abr 16 21:46:44 -0300 2011:
>> The other, slightly more serious case, is at
>> src/test/regress/pg_regress.c:2280, which is this code:
>>
>> printf(_("running on port %d with pid %lu\n"),
>> port, (unsigned long) postmaster_pid);
>>
>> Here the postmaster_pid is in fact a HANDLE which is 8 bytes, and so it
>> should probably be cast to an unsigned long long and rendered with the
>> format %llu in Win64.

> Is this "uint64" and UINT64_FORMAT?

Considering that this is a purely informational printout, I don't see
any reason to give a damn about the possibility of high-order bits in
the HANDLE being dropped. And it's not an especially good idea to stick
UINT64_FORMAT into a translatable string, because of the platform
dependency that creates.

I think all we need here is a way to shut up the overly-anal-retentive
warning. I would have expected that explicit cast to be enough,
actually, but apparently it's not. Ideas?

regards, tom lane

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Josh Berkus 2011-04-18 17:06:09 Re: Formatting Curmudgeons WAS: MMAP Buffers
Previous Message Joshua Berkus 2011-04-18 16:52:52 Re: Formatting Curmudgeons WAS: MMAP Buffers