| From dc8aa43b7b6d0cead7d8a0c1a151d289a5233a10 Mon Sep 17 00:00:00 2001 |
| From: Eric Le Bihan <eric.le.bihan.dev@free.fr> |
| Date: Wed, 2 Apr 2014 12:36:52 +0200 |
| Subject: [PATCH] libudev: Only use #pragma for ignoring diagnostics if GCC |
| version supports it. |
| |
| [Peter: update for 2.1.1, fix shared_assert issue] |
| Signed-off-by: Eric Le Bihan <eric.le.bihan.dev@free.fr> |
| --- |
| src/shared/macro.h | 8 +++++ |
| 1 file changed, 8 insertions(+) |
| |
| diff --git a/src/shared/macro.h b/src/shared/macro.h |
| --- a/src/shared/macro.h |
| +++ b/src/shared/macro.h |
| @@ -38,6 +38,7 @@ |
| #define _cleanup_(x) __attribute__((cleanup(x))) |
| |
| /* Temporarily disable some warnings */ |
| +#if __GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 6) |
| #define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT \ |
| _Pragma("GCC diagnostic push"); \ |
| _Pragma("GCC diagnostic ignored \"-Wdeclaration-after-statement\"") |
| @@ -48,6 +49,13 @@ |
| |
| #define REENABLE_WARNING \ |
| _Pragma("GCC diagnostic pop") |
| +#else |
| +#define DISABLE_WARNING_DECLARATION_AFTER_STATEMENT |
| +#define DISABLE_WARNING_FORMAT_NONLITERAL |
| +#define REENABLE_WARNING |
| +/* glibc unconditionally defines this, but it needs GCC 4.6+ */ |
| +#undef static_assert |
| +#endif |
| |
| #define XCONCATENATE(x, y) x ## y |
| #define CONCATENATE(x, y) XCONCATENATE(x, y) |
| -- |
| 1.7.9.5 |