SDL: don't prototype strdup() for __clang_analyzer__ case in windows builds. (157f8)

From 157f894d5d362b231653ce71bff327d74b13dec5 Mon Sep 17 00:00:00 2001
From: Ozkan Sezer <[EMAIL REDACTED]>
Date: Sun, 4 May 2025 20:01:24 +0300
Subject: [PATCH] don't prototype strdup() for __clang_analyzer__ case in
 windows builds.

Fixes:  https://github.com/libsdl-org/SDL/issues/12948.
(cherry picked from commit 17bba029ba6717c3da460a2426fd81fd2772f66f)
---
 include/SDL_stdinc.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/include/SDL_stdinc.h b/include/SDL_stdinc.h
index 71fcea5e4cf4e..1854698b60635 100644
--- a/include/SDL_stdinc.h
+++ b/include/SDL_stdinc.h
@@ -750,8 +750,12 @@ size_t wcslcpy(wchar_t *dst, const wchar_t *src, size_t size);
 size_t wcslcat(wchar_t *dst, const wchar_t *src, size_t size);
 #endif
 
+#ifndef _WIN32
 /* strdup is not ANSI but POSIX, and its prototype might be hidden... */
+/* not for windows: might conflict with string.h where strdup may have
+ * dllimport attribute: https://github.com/libsdl-org/SDL/issues/12948 */
 char *strdup(const char *str);
+#endif
 
 /* Starting LLVM 16, the analyser errors out if these functions do not have
    their prototype defined (clang-diagnostic-implicit-function-declaration) */