#endif /*! _MSC_VER */
#define GMQCC_VERSION_MAJOR 0
-#define GMQCC_VERSION_MINOR 4
-#define GMQCC_VERSION_PATCH 0
+#define GMQCC_VERSION_MINOR 3
+#define GMQCC_VERSION_PATCH 6
#define GMQCC_VERSION_BUILD(J,N,P) (((J)<<16)|((N)<<8)|(P))
#define GMQCC_VERSION \
GMQCC_VERSION_BUILD(GMQCC_VERSION_MAJOR, GMQCC_VERSION_MINOR, GMQCC_VERSION_PATCH)
# define GMQCC_NORETURN
#endif /*! (defined(__GNUC__) && __GNUC__ >= 2) || defined (__CLANG__) */
-#if (defined(__GNUC__)) || defined(__CLANG__)
+#if defined(__GNUC__) || defined(__CLANG__)
# define GMQCC_LIKELY(X) __builtin_expect((X), 1)
# define GMQCC_UNLIKELY(X) __builtin_expect((X), 0)
#else
# define GMQCC_UNLIKELY(X) (X)
#endif
+#if defined(__GNUC__) || defined(__CLANG__)
+# define GMQCC_RESTRICT __restrict__
+#elif defined(__MSC_VER)
+# define GMQCC_RESTRICT __restrict
+#else
+# define GMQCC_RESTRICT
+#endif
+
#define GMQCC_ARRAY_COUNT(X) (sizeof(X) / sizeof((X)[0]))
#ifndef _MSC_VER
typedef struct fs_file_s fs_file_t;
bool util_isatty(fs_file_t *);
-const char *util_tmpnam(char *);
/*
* A flexible vector implementation: all vector pointers contain some