]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - qdefs.h
com_list: Implement the rest of the linked list API from the Linux kernel
[xonotic/darkplaces.git] / qdefs.h
diff --git a/qdefs.h b/qdefs.h
index 4421ce1d1093447977d8f60e6435ce04d03523c3..463761e9b43a311993b6b182edf5f657c07b9a72 100644 (file)
--- a/qdefs.h
+++ b/qdefs.h
@@ -1,6 +1,10 @@
 #ifndef QDEFS_H
 #define QDEFS_H
 
+#if defined (__GNUC__) || defined (__clang__) || defined (__TINYC__)
+#define DP_GCC_COMPATIBLE
+#endif
+
 #if (__GNUC__ > 2) || defined (__clang__) || (__TINYC__)
 #define DP_FUNC_PRINTF(n) __attribute__ ((format (printf, n, n+1)))
 #define DP_FUNC_PURE      __attribute__ ((pure))
 #define DP_FUNC_NORETURN
 #endif
 
+#ifdef DP_GCC_COMPATIBLE
+#define Q_typeof(var) typeof(var)
+#elif defined (MSVC)
+#define Q_typeof(var) decltype(var)
+#endif
+
 #define MAX_NUM_ARGVS  50
 
 #ifdef DP_SMALLMEMORY