BUILD: compiler: reserve the gcc version checks to the gcc compiler

Some checks on __GNUC__ imply that if it's undefined it will match a
low value but that's not always what we want, like for example in the
VAR_ARRAY definition which is not needed on tcc. Let's always be explicit
on these tests.
This commit is contained in:
Willy Tarreau 2020-09-10 08:33:01 +02:00
parent f734ebfac4
commit d9537f6082

View File

@ -27,7 +27,7 @@
* Gcc before 3.0 needs [0] to declare a variable-size array
*/
#ifndef VAR_ARRAY
#if __GNUC__ < 3
#if defined(__GNUC__) && (__GNUC__ < 3)
#define VAR_ARRAY 0
#else
#define VAR_ARRAY
@ -39,7 +39,7 @@
* respect our choices.
*/
#if !defined(forceinline)
#if __GNUC__ < 3
#if !defined(__GNUC__) || (__GNUC__ < 3)
#define forceinline inline
#else
#define forceinline inline __attribute__((always_inline))
@ -89,7 +89,7 @@
* generally better for the cache and to reduce the number of jumps.
*/
#if !defined(likely)
#if __GNUC__ < 3
#if !defined(__GNUC__) || (__GNUC__ < 3)
#define __builtin_expect(x,y) (x)
#define likely(x) (x)
#define unlikely(x) (x)