Fix build with newer Visual Studio versions

in the __STDC_VERSION__ >= 201112L + _MSC_VER case YQ2_ATTR_INLINE
wasn't defined

and fixed some indenting in the surrounding code
This commit is contained in:
Daniel Gibson 2022-11-24 15:38:34 +01:00
parent 15adee3b06
commit 89b0ed9f18

View file

@ -59,16 +59,17 @@ typedef unsigned char byte;
#define YQ2_ALIGNAS_TYPE(TYPE) _Alignas(TYPE) #define YQ2_ALIGNAS_TYPE(TYPE) _Alignas(TYPE)
// must be used as prefix (YQ2_ATTR_NORETURN void bla();)! // must be used as prefix (YQ2_ATTR_NORETURN void bla();)!
#define YQ2_ATTR_NORETURN _Noreturn #define YQ2_ATTR_NORETURN _Noreturn
# if defined(__GNUC__) #if defined(__GNUC__)
#define YQ2_ATTR_MALLOC __attribute__ ((__malloc__)) #define YQ2_ATTR_MALLOC __attribute__ ((__malloc__))
#define YQ2_ATTR_INLINE __attribute__((always_inline)) inline #define YQ2_ATTR_INLINE __attribute__((always_inline)) inline
# elif defined(_MSC_VER) #elif defined(_MSC_VER)
#define YQ2_ATTR_MALLOC __declspec(restrict) #define YQ2_ATTR_MALLOC __declspec(restrict)
# else #define YQ2_ATTR_INLINE __forceinline
#else
// no equivalent per see // no equivalent per see
#define YQ2_ATTR_MALLOC #define YQ2_ATTR_MALLOC
#define YQ2_ATTR_INLINE inline #define YQ2_ATTR_INLINE inline
# endif #endif
#elif defined(__GNUC__) // GCC and clang should support this attribute #elif defined(__GNUC__) // GCC and clang should support this attribute
#define YQ2_ALIGNAS_SIZE(SIZE) __attribute__(( __aligned__(SIZE) )) #define YQ2_ALIGNAS_SIZE(SIZE) __attribute__(( __aligned__(SIZE) ))
#define YQ2_ALIGNAS_TYPE(TYPE) __attribute__(( __aligned__(__alignof__(TYPE)) )) #define YQ2_ALIGNAS_TYPE(TYPE) __attribute__(( __aligned__(__alignof__(TYPE)) ))