By writing ordinary printf (or __printf__) inside __attribute__((format)),
one indicates that the system's typical format specifiers are supported.
This is OK for building for glibc, but it falls down for building for
mingw, since PSPP actually supports GNU format specifiers there via gnulib.
By writing gnu_printf instead, we avoid some incorrect warnings on mingw.
/* Mark a function as taking a printf- or scanf-like format
string as its FMT'th argument and that the FIRST'th argument
is the first one to be checked against the format string. */
-#define PRINTF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (__printf__, FMT, FIRST)))
+#define PRINTF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (gnu_printf, FMT, FIRST)))
#define SCANF_FORMAT(FMT, FIRST) ATTRIBUTE ((format (__scanf__, FMT, FIRST)))
/* Tells the compiler that a function may be treated as if any
/* Values from text strings. */
struct pivot_value *pivot_value_new_text (const char *);
struct pivot_value *pivot_value_new_text_format (const char *, ...)
- PRINTF_FORMAT (1, 2);
+ __attribute__((format(gnu_printf, 1, 2)));
struct pivot_value *pivot_value_new_user_text (const char *, size_t length);
struct pivot_value *pivot_value_new_user_text_nocopy (char *);