Spell __attribute__((format(printf, ...))) with more underscores. They may be spelled with or without underscores. Alas, a lot of C code (adb, cURL) seems to find it a popular pasttime to #define printf *before* including external headers. This is completely nonsense and invalid, but working around it is easy and is what we (and OpenSSL) were doing before 061332f21643a910941c32cbfc40e577c380e342. I'll be sending a patch to cURL tomorrow to make them at least do their macro trickery after external #includes for sanity. adb's sysdeps.h is a lot longer and consistently #included first so I'll probably leave that be for lack of time. Change-Id: I03a0a253f2c902eb45f45faace1e5c5df4335ebf Reviewed-on: https://boringssl-review.googlesource.com/7605 Reviewed-by: Steven Valdez <svaldez@google.com> Reviewed-by: David Benjamin <davidben@google.com>
diff --git a/include/openssl/base.h b/include/openssl/base.h index 0379b74..a41e13b 100644 --- a/include/openssl/base.h +++ b/include/openssl/base.h
@@ -142,7 +142,7 @@ #if defined(__GNUC__) #define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) \ - __attribute__((format(printf, string_index, first_to_check))) + __attribute__((__format__(__printf__, string_index, first_to_check))) #else #define OPENSSL_PRINTF_FORMAT_FUNC(string_index, first_to_check) #endif