From 412ad0dad8e362aa0a588034bf755666bde7134f Mon Sep 17 00:00:00 2001 From: Colin Cross Date: Thu, 15 Sep 2016 18:02:46 -0700 Subject: [PATCH] Hide gnu extension warnings in log/log.h system/core/include is included in the global include path using -isystem, which hides all warnings. Fix warnings in log/log.h in preparation for moving from -isystem to -I. log/log.h uses gnu extensions for zero-argument variadic macro token pasting, which clang warns about with -Weverything. Hide the warnings using pragmas. Test: m -j native Bug: 31492149 Change-Id: Ib2113f877d811a6ecc0e91c035640b506f04bd86 --- include/log/log.h | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/include/log/log.h b/include/log/log.h index 045feca6a..24c77fcdb 100644 --- a/include/log/log.h +++ b/include/log/log.h @@ -41,6 +41,15 @@ extern "C" { #endif +// This file uses ", ## __VA_ARGS__" zero-argument token pasting to +// work around issues with debug-only syntax errors in assertions +// that are missing format strings. See commit +// 19299904343daf191267564fe32e6cd5c165cd42 +#if defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wgnu-zero-variadic-macro-arguments" +#endif + // --------------------------------------------------------------------- /* @@ -692,6 +701,10 @@ int __android_log_buf_print(int bufID, int prio, const char *tag, const char *fm #endif ; +#if defined(__clang__) +#pragma clang diagnostic pop +#endif + #ifdef __cplusplus } #endif