Browse Source

Move in va_copy() define block from stdlib.

Eddy Jansson 3 years ago
parent
commit
97774cdf72
2 changed files with 9 additions and 8 deletions
  1. 9 0
      src/SDL_internal.h
  2. 0 8
      src/stdlib/SDL_string.c

+ 9 - 0
src/SDL_internal.h

@@ -26,6 +26,15 @@
 #define _GNU_SOURCE
 #endif
 
+/* Do our best to make sure va_copy is working */
+#if defined(_MSC_VER) && _MSC_VER <= 1800
+/* Visual Studio 2013 tries to link with _vacopy in the C runtime. Newer versions do an inline assignment */
+#undef va_copy
+#define va_copy(dst, src)   dst = src
+#elif defined(__GNUC__) && (__GNUC__ < 3)
+#define va_copy(dst, src)   __va_copy(dst, src)
+#endif
+
 /* This is for a variable-length array at the end of a struct:
     struct x { int y; char z[SDL_VARIABLE_LENGTH_ARRAY]; };
    Use this because GCC 2 needs different magic than other compilers. */

+ 0 - 8
src/stdlib/SDL_string.c

@@ -28,14 +28,6 @@
 
 #include "SDL_stdinc.h"
 
-#if defined(_MSC_VER) && _MSC_VER <= 1800
-/* Visual Studio 2013 tries to link with _vacopy in the C runtime. Newer versions do an inline assignment */
-#undef va_copy
-#define va_copy(dst, src)   dst = src
-#elif defined(__GNUC__) && (__GNUC__ < 3)
-#define va_copy(to, from)   __va_copy(to, from)
-#endif
-
 #if !defined(HAVE_VSSCANF) || !defined(HAVE_STRTOL) || !defined(HAVE_STRTOUL) || !defined(HAVE_STRTOD) || !defined(HAVE_STRTOLL) || !defined(HAVE_STRTOULL)
 #define SDL_isupperhex(X)   (((X) >= 'A') && ((X) <= 'F'))
 #define SDL_islowerhex(X)   (((X) >= 'a') && ((X) <= 'f'))