Skip site navigation (1) Skip section navigation (2)

Re: Suppress compiler warnings on mingw

From: Jeremy Drake <pgsql(at)jdrake(dot)com>
To: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>
Cc: Peter Eisentraut <peter_e(at)gmx(dot)net>, pgsql-patches(at)postgresql(dot)org
Subject: Re: Suppress compiler warnings on mingw
Date: 2008-03-14 15:40:30
Message-ID: (view raw, whole thread or download thread mbox)
Lists: pgsql-patches
On Fri, 14 Mar 2008, ITAGAKI Takahiro wrote:

> DWORD is an alias for 'unsigned long' in 32bit Windows.
> Do you know how it defined in 64bit Windows?

sizeof(DWORD) is always 4, even on 64-bit windows.  sizeof(long) is also
always 4.  If you want the unsigned integral type that is the same size as
pointers, there are some MS-defined types you can use: DWORD_PTR,
LONG_PTR, ULONG_PTR.  Or use the standard size_t and ptrdiff_t.

> Postgres requires sizeof(long) = sizeof(void *)

Which is why 64-bit windows is not supported.  Hopefully at some point
someone can remove this restriction, but it is likely to be a major

>, but sizeof(DWORD) is
> always 4. I fear the formatter for long integer might be broken
> in 64bit platform.
> If we could expect C99 is always available, 'PRIu32' would be the best choice.
> Regards,
> ---
> ITAGAKI Takahiro
> NTT Open Source Software Center

Worst Month of 1981 for Downhill Skiing:
	August.  The lines are the shortest, though.
		-- Steve Rubenstein

In response to

pgsql-patches by date

Next:From: Tom LaneDate: 2008-03-14 15:49:48
Subject: Re: pgbench not setting scale size correctly?
Previous:From: Devrim GÜNDÜZDate: 2008-03-14 15:31:07
Subject: Re: minor init script fix

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group