summaryrefslogtreecommitdiff
path: root/core/fxcrt/fx_system.h
diff options
context:
space:
mode:
Diffstat (limited to 'core/fxcrt/fx_system.h')
-rw-r--r--core/fxcrt/fx_system.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/core/fxcrt/fx_system.h b/core/fxcrt/fx_system.h
index 94fc20050a..a99a18a332 100644
--- a/core/fxcrt/fx_system.h
+++ b/core/fxcrt/fx_system.h
@@ -320,4 +320,14 @@ int FXSYS_round(float f);
#define NEVER_INLINE __attribute__((__noinline__))
#endif // _FXM_PLATFORM_ == _FXM_PLATFORM_WINDOWS_
+// Handle differnces between platform's variadic function implementations.
+#if defined(__ARMCC_VERSION) || \
+ (!defined(_MSC_VER) && (_FX_CPU_ == _FX_X64_ || _FX_CPU_ == _FX_IA64_ || \
+ _FX_CPU_ == _FX_ARM64_)) || \
+ defined(__native_client__)
+#define FX_VA_COPY(dst, src) va_copy((dst), (src))
+#else
+#define FX_VA_COPY(dst, src) ((dst) = (src))
+#endif
+
#endif // CORE_FXCRT_FX_SYSTEM_H_