-Wold-style-cast and standard library macros
Yang Zhang
yanghatespam@gmail.com
Mon Feb 23 20:23:00 GMT 2009
John (Eljay) Love-Jensen wrote:
> Hi Yang Zhang,
>
>> Hi, I'd like to use -Wold-style-cast for my own code, but when I use
>> such macros as <arpa/inet.h>'s INADDR_ANY (which is #defined as
>> `((in_addr_t) 0x00000000)`), I get warnings for that. Any way around
>> this? Thanks!
>
> I'd use this technique:
>
> #undef INADDR_ANY
> in_addr_t const INADDR_ANY = in_addr_t(0x00000000);
>
> Could put that in your own my_own_inet.h, and have your header #include
> <arpa/inet.h>, and replace the preprocessor #define constants with C/C++
> constants.
>
> HTH,
> --Eljay
>
But is there any workaround for this problem in general, where the
source of the problem is a macro defined in a system header? I'm seeing
the same problem with FD_SET, FD_ISSET, etc.
--
Yang Zhang
http://www.mit.edu/~y_z/
More information about the Gcc-help
mailing list