diff --git a/src/xpdev/gen_defs.h b/src/xpdev/gen_defs.h
index cb194382291d727c0fc07473e71bc696ce52aa86..cdd8c06d90fd8a7e5b71aa823a5fc2a9009afd2d 100644
--- a/src/xpdev/gen_defs.h
+++ b/src/xpdev/gen_defs.h
@@ -432,7 +432,9 @@ typedef struct {
 /* This is a bound-safe version of strcpy basically - only works with fixed-length arrays */
 #ifdef _DEBUG
 #define SAFECOPY(dst,src) do { \
+#if __STDC_VERSION__ >= 201112L
 	static_assert(sizeof(dst) != sizeof(void*), "SAFECOPY() on pointer-sized dst, use strlcpy"); \
+#endif
 	strlcpy(dst,src,sizeof(dst)); \
 } while(0)
 #else
@@ -442,7 +444,9 @@ typedef struct {
 /* Extra-safe SAFECOPY doesn't pass NULL-pointer to strlcpy */
 #ifdef _DEBUG
 #define XSAFECOPY(dst,src) do { \
+#if __STDC_VERSION__ >= 201112L
 	static_assert(sizeof(dst) != sizeof(void*), "SAFECOPY() on pointer-sized dst, use strlcpy"); \
+#endif
 	strlcpy(dst,(src)==NULL?"(null)":(src),sizeof(dst)); \
 } while(0)
 #else