From ad832859a7ccd7ba44b6f97e0933ab0b413d62b6 Mon Sep 17 00:00:00 2001 From: Andrew Hsieh Date: Fri, 9 May 2014 11:50:45 +0800 Subject: [PATCH] Use format(gnu_printf, ...) for windows build with __USE_MINGW_ANSI_STDIO With __USE_MINGW_ANSI_STDIO mingw compiler uses its own replacement printf*/scanf* libraries instead of Microsoft's ones which aren't always C99 compatible. Declare "archetype" of attribute format to gnu_printf because the default "printf" in mingw follows MS standard. One result is that "%z" (a gnu-extension) is accepted w/o warning by mingw compiler Change-Id: I3e92f34e2a1e8d664b4f1f55d450f7c2790671f3 --- include/android/log.h | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/include/android/log.h b/include/android/log.h index f5b1900ae..ad36bd223 100644 --- a/include/android/log.h +++ b/include/android/log.h @@ -98,7 +98,11 @@ int __android_log_write(int prio, const char *tag, const char *text); */ int __android_log_print(int prio, const char *tag, const char *fmt, ...) #if defined(__GNUC__) +#if __USE_MINGW_ANSI_STDIO + __attribute__ ((format(gnu_printf, 3, 4))) +#else __attribute__ ((format(printf, 3, 4))) +#endif #endif ; @@ -117,7 +121,11 @@ void __android_log_assert(const char *cond, const char *tag, const char *fmt, ...) #if defined(__GNUC__) __attribute__ ((noreturn)) +#if __USE_MINGW_ANSI_STDIO + __attribute__ ((format(gnu_printf, 3, 4))) +#else __attribute__ ((format(printf, 3, 4))) +#endif #endif ;