From 0f75eaa0b8de3d68e8b5b5447fbc009531183cb5 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 14 Feb 2012 11:38:02 +0100 Subject: GCC -Werror=sign-promo --- include/cppunit/TestAssert.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'include/cppunit') diff --git a/include/cppunit/TestAssert.h b/include/cppunit/TestAssert.h index f74797b..851a444 100644 --- a/include/cppunit/TestAssert.h +++ b/include/cppunit/TestAssert.h @@ -8,6 +8,12 @@ #include #include // For struct assertion_traits +// Work around "passing 'T' chooses 'int' over 'unsigned int'" warnings when T +// is an enum type: +#if defined __GNUC__ && (__GNUC__ < 4 || (__GNUC__ == 4 && __GNUC_MINOR__ < 6)) +#pragma GCC system_header +#endif + CPPUNIT_NS_BEGIN @@ -46,7 +52,16 @@ struct assertion_traits static std::string toString( const T& x ) { OStringStream ost; +// Work around "passing 'T' chooses 'int' over 'unsigned int'" warnings when T +// is an enum type: +#if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wsign-promo" +#endif ost << x; +#if defined __GNUC__ && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 6) || __GNUC__ > 4) +#pragma GCC diagnostic pop +#endif return ost.str(); } }; -- cgit v1.2.1