[Mesa-dev] [PATCH 2/3] mesa: Fix compiler warnings when ALIGN's alignment is "1 << value".

Eric Anholt eric at anholt.net
Tue Oct 8 11:41:01 PDT 2013


Brian Paul <brianp at vmware.com> writes:

> On 10/08/2013 11:36 AM, Eric Anholt wrote:
>> We hadn't run into order of operation warnings before, apparently, since
>> addition is so low on the order.
>>
>> Cc: "9.1 9.2" <mesa-stable at lists.freedesktop.org>
>> ---
>>   src/mesa/main/macros.h | 2 +-
>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
>> index 1052f75..05aad4e 100644
>> --- a/src/mesa/main/macros.h
>> +++ b/src/mesa/main/macros.h
>> @@ -673,7 +673,7 @@ minify(unsigned value, unsigned levels)
>>    *
>>    * \sa ROUND_DOWN_TO()
>>    */
>> -#define ALIGN(value, alignment)  (((value) + alignment - 1) & ~(alignment - 1))
>> +#define ALIGN(value, alignment)  (((value) + (alignment) - 1) & ~((alignment) - 1))
>
> Reviewed-by: Brian Paul <brianp at vmware.com>
>
> If we're usually using unsigned variables, maybe this should be an 
> inline function.

It's nice to be able to use align on both a uint64_t and uint32_t
without worrying about type conversions happening.  (I haven't looked
into what the compiler would do if we had it always u64)
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20131008/38845aeb/attachment.pgp>


More information about the mesa-dev mailing list