freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] C99, long long, and inline


From: Werner LEMBERG
Subject: Re: [ft-devel] C99, long long, and inline
Date: Tue, 13 Sep 2016 07:47:49 +0200 (CEST)

>> The 'correct' thing to do (IMAO) is to use an int64_t (or
>> ft_int64_t if you prefer) type. On systems that provide int64_t, we
>> have no problems. On systems that don't provide it, then we can
>> #define int64_t long long
> 
> I mostly complain about -ansi option in the Makefile. It will
> complain no matter what you call "long long" or "inline".

This is not correct.  There is the special form `__inline__' that
works inspite of `-ansi'.  autoconf's AC_C_INLINE macro automatically
takes care of this, AFAICS.

The `long long' warning is not caused by `-ansi' but by `-pedantic'.
We could add `-Wno-long-long' conditionally, this is, if we need `long
long', use this option.  Alternatively, we can set

  #pragma GCC diagnostic ignored "-Wlong-long"

locally.

> We can keep the code as close to C89 as we can, but I argue that the
> default should be C99.

I disagree.  Actually, we shouldn't care at all whether we have a C89
or C99 compiler; instead, we should go the autoconf way to check for
available functionality, as we already do for other things.  In other
words, if the compiler provides native 64bit support, use it.
Cf. autoconf's AC_TYPE_INT64_T macro and others.

> We have to make users of exotic compilers do the work about enabling
> 64-bit emulation and ignoring inline, not vice versa.

This should be done automatically, see above.  In case people don't
want to use or cannot use the autoconf mechanism, it's fine with me to
make 64bit support the default – haven't we done this already?  IIRC,
you provided some patches into this direction...

> Right now they have easier time than 32-bit linux users.

Any improvements here are welcome :-)


    Werner

reply via email to

[Prev in Thread] Current Thread [Next in Thread]