X-Git-Url: https://wimlib.net/git/?p=wimlib;a=blobdiff_plain;f=include%2Fwimlib%2Fcompiler-gcc.h;h=cb42c894800e668bf24c4098fa567a97f4e84121;hp=db6e3249b68ee92d06335bb02bb4a73460907198;hb=af795d1f88e9d8f1fad0613eac93c6775b4f6735;hpb=0ecb0529b5fcacc1abafa1f3f02a40c44783ada8 diff --git a/include/wimlib/compiler-gcc.h b/include/wimlib/compiler-gcc.h index db6e3249..cb42c894 100644 --- a/include/wimlib/compiler-gcc.h +++ b/include/wimlib/compiler-gcc.h @@ -25,8 +25,19 @@ #endif #define _malloc_attribute __attribute__((malloc)) #define inline inline __attribute__((always_inline)) +#define noinline __attribute__((noinline)) -#define CPU_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) +/* Newer gcc supports __BYTE_ORDER__. Older gcc doesn't. */ +#ifdef __BYTE_ORDER__ +# define CPU_IS_BIG_ENDIAN (__BYTE_ORDER__ == __ORDER_BIG_ENDIAN__) +#elif defined(HAVE_CONFIG_H) +# include "config.h" +# ifdef WORDS_BIGENDIAN +# define CPU_IS_BIG_ENDIAN 1 +# else +# define CPU_IS_BIG_ENDIAN 0 +# endif +#endif #if defined(__x86_64__) || defined(__i386__) # define UNALIGNED_ACCESS_SPEED 3