X-Git-Url: https://git.xonotic.org/?p=xonotic%2Fgmqcc.git;a=blobdiff_plain;f=gmqcc.h;h=d39eda3acddbbee9cc1db8a6534f851fd8443b13;hp=234aaa9cfb28edbf36a4c7facd14a9ad977e274d;hb=2e57a952a702a2b591cabc9fb857d4cf0811e3a7;hpb=42fc62046615ada8580ed2ca497cc9a4c9293a1a diff --git a/gmqcc.h b/gmqcc.h index 234aaa9..d39eda3 100644 --- a/gmqcc.h +++ b/gmqcc.h @@ -134,52 +134,8 @@ # define GMQCC_NORETURN #endif -/* no stdint.h in < C99 */ -#if __STDC_VERSION__ < 199901L -# if CHAR_MIN == -128 - typedef unsigned char uint8_t; /* same as below */ -# elif SCHAR_MIN == -128 - typedef unsigned char uint8_t; /* same as above */ -# endif -# if SHRT_MAX == 0x7FFF - typedef short int16_t; - typedef unsigned short uint16_t; -# elif INT_MAX == 0x7FFF - typedef int int16_t; - typedef unsigned int uint16_t; -# endif -# if INT_MAX == 0x7FFFFFFF - typedef int int32_t; - typedef unsigned int uint32_t; -# elif LONG_MAX == 0x7FFFFFFF - typedef long int32_t; - typedef unsigned long uint32_t; -# endif - -# if defined(__GNUC__) || defined (__CLANG__) - typedef int int64_t __attribute__((__mode__(__DI__))); - typedef unsigned int uint64_t __attribute__((__mode__(__DI__))); -# elif defined(_MSC_VER) - typedef __int64 int64_t; - typedef unsigned __int64 uint64_t; -# else - /* - * Incorrectly size the types so static assertions below will - * fail. There is no valid way to get a 64bit type at this point - * without making assumptions of too many things. - */ - typedef struct { char _fail : 0; } int64_t; - typedef struct { char _fail : 0; } uint64_t; -# endif - /* Ensure type sizes are correct: */ - typedef char uint8_size_is_correct [sizeof(uint8_t) == 1?1:-1]; - typedef char uint16_size_is_correct [sizeof(uint16_t) == 2?1:-1]; - typedef char uint32_size_is_correct [sizeof(uint32_t) == 4?1:-1]; - typedef char uint64_size_is_correct [sizeof(uint64_t) == 8?1:-1]; - typedef char int16_size_if_correct [sizeof(int16_t) == 2?1:-1]; - typedef char int32_size_is_correct [sizeof(int32_t) == 4?1:-1]; - typedef char int64_size_is_correct [sizeof(int64_t) >= 8?1:-1]; -#else +/* TODO: visual studiblows work around */ +#ifndef _MSC_VER # include #endif