]> git.xonotic.org Git - xonotic/gmqcc.git/blobdiff - gmqcc.h
No more hacks
[xonotic/gmqcc.git] / gmqcc.h
diff --git a/gmqcc.h b/gmqcc.h
index 234aaa9cfb28edbf36a4c7facd14a9ad977e274d..d39eda3acddbbee9cc1db8a6534f851fd8443b13 100644 (file)
--- a/gmqcc.h
+++ b/gmqcc.h
 #    define GMQCC_NORETURN
 #endif
 
 #    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 <stdint.h>
 #endif
 
 #   include <stdint.h>
 #endif