Просмотр исходного кода

stdinc: only use _Countof for SDL_arraysize when using a C standard > C23

Anonymous Maarten 1 день назад
Родитель
Сommit
dd0536b170
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      include/SDL3/SDL_stdinc.h

+ 2 - 1
include/SDL3/SDL_stdinc.h

@@ -256,7 +256,8 @@ void *alloca(size_t);
 #define SDL_arraysize(array) (sizeof(array)/sizeof(array[0]))  /* or `_Countof(array)` on recent gcc and clang */
 
 #else
-#if !defined(__cplusplus) && ((defined(__GNUC__) && __GNUC__ >= 16) || SDL_HAS_EXTENSION(c_countof))
+#if !defined(__cplusplus) && ((defined(__GNUC__) && __GNUC__ >= 16) || SDL_HAS_EXTENSION(c_countof)) \
+    && (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202500L)
 #define SDL_arraysize(array) _Countof(array)
 #else
 #define SDL_arraysize(array) (sizeof(array)/sizeof(array[0]))