From: | Haribabu Kommi <kommi(dot)haribabu(at)gmail(dot)com> |
---|---|
To: | "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | compiler warning with VS 2017 |
Date: | 2017-05-05 02:22:49 |
Message-ID: | CAJrrPGdW3EkU-CRobvVKYf3fJuBdgWyuGeAbNzAQ4yBh+bfb_Q@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
I am getting a compiler warning when I build the latest HEAD PostgreSQL with
visual studio 2017.
src/backend/replication/logical/proto.c(482): warning C4312: 'type cast':
conversion from 'unsigned int' to 'char *' of greater size
Details of the warning is available in the link [1].
The code at the line is,
tuple->values[i] = (char *) (Size)0xdeadbeef; /* make bad usage more
obvious */
If I change the code as (char *) (Size)0xdeadbeef;
or (char *) (INT_PTR)0xdeadbeef; the warning disappears.
How about fixing it as below and add the typecast or disable
this warning?
/*
* PTR_CAST
* Used when converting integer addresses to a pointer.
* The casting is used to avoid generating warning in
* windows
*/
#ifdef WIN32
#define PTR_CAST INT_PTR
#else
#define PTR_CAST
#endif
[1] - https://msdn.microsoft.com/en-us/library/h97f4b9y.aspx
Regards,
Hari Babu
Fujitsu Australia
From | Date | Subject | |
---|---|---|---|
Next Message | David Rowley | 2017-05-05 02:23:15 | Re: modeling parallel contention (was: Parallel Append implementation) |
Previous Message | David Rowley | 2017-05-05 02:20:48 | Re: modeling parallel contention (was: Parallel Append implementation) |