[PATCH] __FreeBSD_cc_version in <sys/cdefs.h>
Matthias Andree
matthias.andree at gmx.de
Tue Jul 5 10:38:35 UTC 2011
Am 05.07.2011 12:11, schrieb Dimitry Andric:
> On 2011-07-04 18:30, Robert Millan wrote:
>> This patch fixes a (harmless) warning when<sys/cdefs.h> is parsed by
>> upstream version of GCC.
>>
>> -#if __FreeBSD_cc_version >= 300001 && defined(__GNUC__) &&
>> !defined(__INTEL_COMPILER)
>> +#if defined(__FreeBSD_cc_version) && __FreeBSD_cc_version >= 300001
>> && defined(__GNUC__) && !defined(__INTEL_COMPILER)
>
> As far as I can see, this code only gives warnings when compiled with
> gcc 4.5 or higher, and when using the -Wundef flag. Isn't it easier to
> just remove the -Wundef flag here?
>
> Additionally, it looks like the C standard is a bit vague about whether
> the preprocessor uses short-circuited boolean evaluation (although gcc's
> manual says it does), so I'm not sure whether this patch solves the
> problem properly either.
The CPP #if argument is a /constant-expression/, according to K&R's The
C Programming language 2nd ed., so it shall short-circuit.
More information about the freebsd-hackers
mailing list