diff options
Diffstat (limited to 'compat')
-rw-r--r-- | compat/compiler.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/compat/compiler.h b/compat/compiler.h new file mode 100644 index 0000000000..c929573dd1 --- /dev/null +++ b/compat/compiler.h @@ -0,0 +1,24 @@ +#ifndef MPV_COMPILER_H +#define MPV_COMPILER_H + +#define MP_EXPAND_ARGS(...) __VA_ARGS__ + +#ifdef __GNUC__ + +/** Use gcc attribute to check printf fns. a1 is the 1-based index of + * the parameter containing the format, and a2 the index of the first + * argument. **/ +#ifdef __MINGW32__ +// MinGW maps "printf" to the non-standard MSVCRT functions, even if +// __USE_MINGW_ANSI_STDIO is defined and set to 1. We need to use "gnu_printf", +// which isn't necessarily available on other GCC compatible compilers. +#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (gnu_printf, a1, a2))) +#else +#define PRINTF_ATTRIBUTE(a1, a2) __attribute__ ((format (printf, a1, a2))) +#endif + +#else +#define PRINTF_ATTRIBUTE(a1, a2) +#endif + +#endif |