From fb3d4d78fa0173035b97e5a2a85c94c8f30ad9de Mon Sep 17 00:00:00 2001 From: Austin Morton Date: Fri, 21 Sep 2018 02:34:16 -0400 Subject: [PATCH] Use diagnostic push and pop when suppressing GCC warnings to prevent suppressions from impacting code outside of ETL (#99) --- include/etl/basic_string.h | 5 +++++ include/etl/private/pvoidvector.h | 5 +++++ include/etl/vector.h | 7 ++++++- 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/include/etl/basic_string.h b/include/etl/basic_string.h index b823293d..d7536fea 100644 --- a/include/etl/basic_string.h +++ b/include/etl/basic_string.h @@ -54,6 +54,7 @@ SOFTWARE. #define ETL_FILE "27" #ifdef ETL_COMPILER_GCC +#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-variable" #endif @@ -2232,6 +2233,10 @@ namespace etl #include "private/minmax_pop.h" +#ifdef ETL_COMPILER_GCC +#pragma GCC diagnostic pop +#endif + #undef ETL_FILE #endif diff --git a/include/etl/private/pvoidvector.h b/include/etl/private/pvoidvector.h index 1a03fb43..28fe1bd3 100644 --- a/include/etl/private/pvoidvector.h +++ b/include/etl/private/pvoidvector.h @@ -45,6 +45,7 @@ SOFTWARE. #include "../stl/iterator.h" #ifdef ETL_COMPILER_GCC +#pragma GCC diagnostic push #pragma GCC diagnostic ignored "-Wunused-variable" #endif @@ -204,6 +205,10 @@ namespace etl #include "minmax_pop.h" +#ifdef ETL_COMPILER_GCC +#pragma GCC diagnostic pop +#endif + #undef ETL_IN_PVOIDVECTOR #endif diff --git a/include/etl/vector.h b/include/etl/vector.h index 12059dd0..3e0f9a2d 100644 --- a/include/etl/vector.h +++ b/include/etl/vector.h @@ -59,7 +59,8 @@ SOFTWARE. #endif #ifdef ETL_COMPILER_GCC - #pragma GCC diagnostic ignored "-Wunused-variable" +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wunused-variable" #endif //***************************************************************************** @@ -1223,4 +1224,8 @@ namespace etl #include "private/ivectorpointer.h" +#ifdef ETL_COMPILER_GCC +#pragma GCC diagnostic pop +#endif + #endif