[Mesa-dev] [PATCH] Fix _GNUC__ typo in check for gcc 3.x for _mesa_bitcount

Brian Paul brianp at vmware.com
Fri Oct 21 12:30:03 PDT 2011


On 10/21/2011 01:10 PM, Ian Romanick wrote:
> On 10/20/2011 06:30 PM, Jason Wood wrote:
>> On 10/20/2011 06:58 PM, Alan Coopersmith wrote:
>>> Without this fix, builds with gcc 3.4.x end up depending on undefined
>>> _mesa_bitcount instead of gcc's __builtin_popcount.
>>>
>>> NOTE: This is a candidate for the stable branches.
>>>
>>> Signed-off-by: Alan Coopersmith<alan.coopersmith at oracle.com>
>>> ---
>>> src/mesa/main/imports.c | 2 +-
>>> src/mesa/main/imports.h | 2 +-
>>> 2 files changed, 2 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/src/mesa/main/imports.c b/src/mesa/main/imports.c
>>> index 345a1c5..1c44727 100644
>>> --- a/src/mesa/main/imports.c
>>> +++ b/src/mesa/main/imports.c
>>> @@ -514,7 +514,7 @@ _mesa_ffsll(int64_t val)
>>> #endif
>>>
>>> #if !defined(__GNUC__) ||\
>>> - ((_GNUC__ == 3&& __GNUC_MINOR__< 4)&& __GNUC__< 4)
>>> + ((__GNUC__ == 3&& __GNUC_MINOR__< 4)&& __GNUC__< 4)
>>
>> I realize this patch is a typo fix, but isn't this logically
>> equivalent to:
>>
>> (__GNUC__ == 3&& __GNUC_MINOR__< 4)
>>
>>
>> maybe what you are really after is:
>>
>> (__GNUC__ == 3&& __GNUC_MINOR__< 4) || __GNUC__< 3
>
> Yeah, I suspect that's correct. This will cause the if-statement
> happen if it's either not GCC or it's GCC < 3.4.

How about doing something like:

#if __GNUC__ * 10 + __GNUC_MINOR__ < 34

I find that a bit easier to follow.

-Brian


More information about the mesa-dev mailing list