diff --git a/src/common/va_copy.h b/src/common/va_copy.h index 4164dd319..7e0ded6bb 100644 --- a/src/common/va_copy.h +++ b/src/common/va_copy.h @@ -43,6 +43,11 @@ +/* va_copy is not allowed to be defined */ +#if defined(va_copy) +#error "The compiler is broken!" +#endif + /* The watcom compiler doesn't have va_copy and a problematic va_list definition */ #if defined(__WATCOMC__) #define va_copy(dest,src) memcpy((dest), (src), sizeof (va_list)) @@ -53,6 +58,11 @@ #define va_copy(dest,src) __va_copy(dest, src) #endif +/* If we don't have va_copy now, use a generic version */ +#if !defined(va_copy) +#define va_copy(dest,src) ((src)=(dest)) +#endif + #endif /* #if (__STDC_VERSION__ < 199901) */