[Mesa-dev] [PATCH] configure.ac: always define __STDC_CONSTANT_MACROS

Ilia Mirkin imirkin at alum.mit.edu
Tue Jan 12 00:05:37 PST 2016


I think the number of things that would break if uint64_t and unsigned
long long were not, effectively, the same type, would be... huge. ULL
is a lot easier to read too, and has plenty of usage in mesa:

$ git grep -P -i '\dULL' | wc -l
302

An argument could be made that ULL could be 128-bit on some very
hypothetical configuration, but even in that case, it'd still work out
just fine. The key is that the constant is big enough to fit the
value, it's not a problem if it's bigger.

On Tue, Jan 12, 2016 at 2:55 AM, Jose Fonseca <jfonseca at vmware.com> wrote:
> The type of the resulting variable is `uint64_t` not `unsigned long long`.
>
> To use ULL on constants one should also use `unsigned long long` everywhere
> else in Mesa.  Mixing uint64_t and unsigned long long seems sloppy to me, as
> these types could potentially be different things on different platform.
>
> We could use (uin64t_t)1, too, but it doesn't take any less typing than
> UINT64_C(1).
>
> Jose
>
>
> On 11/01/16 21:09, Ilia Mirkin wrote:
>>
>> I'm not strictly opposed to passing this in, but... why not just fix
>> it by removing that imho weird macro and instead use ULL suffix on
>> literals?
>>
>> On Mon, Jan 11, 2016 at 4:07 PM, Oded Gabbay <oded.gabbay at gmail.com>
>> wrote:
>>>
>>> The ISO C99 standard (7.18.4) specifies that C++
>>> implementations should define UINT64_C only when
>>> __STDC_CONSTANT_MACROS is defined.
>>>
>>> ecause we now use UINT64_C in our cpp files (since commit
>>> 208bfc493debe0344d0b9cb93975981f14412628), we need to add this define.
>>>
>>> This also solves compilation errors with GCC 4.8.x on ppc64le machines.
>>>
>>> Signed-off-by: Oded Gabbay <oded.gabbay at gmail.com>
>>> ---
>>>   configure.ac | 2 +-
>>>   1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/configure.ac b/configure.ac
>>> index 9c3d1a3..8d19dab 100644
>>> --- a/configure.ac
>>> +++ b/configure.ac
>>> @@ -245,7 +245,7 @@ _SAVE_LDFLAGS="$LDFLAGS"
>>>   _SAVE_CPPFLAGS="$CPPFLAGS"
>>>
>>>   dnl Compiler macros
>>> -DEFINES="-D__STDC_LIMIT_MACROS"
>>> +DEFINES="-D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS"
>>>   AC_SUBST([DEFINES])
>>>   case "$host_os" in
>>>   linux*|*-gnu*|gnu*)
>>> --
>>> 2.5.0
>>>
>>> _______________________________________________
>>> mesa-dev mailing list
>>> mesa-dev at lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>> _______________________________________________
>> mesa-dev mailing list
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>>
>


More information about the mesa-dev mailing list