boost/boost-1.53.0-static_assert-...

31 lines
1.2 KiB
Diff

diff -up boost_1_53_0/boost/static_assert.hpp\~ boost_1_53_0/boost/static_assert.hpp
--- boost_1_53_0/boost/static_assert.hpp~ 2012-12-11 15:42:26.000000000 +0100
+++ boost_1_53_0/boost/static_assert.hpp 2013-07-19 14:15:59.504039071 +0200
@@ -43,6 +43,14 @@
#else
# define BOOST_STATIC_ASSERT_BOOL_CAST(x) (bool)(x)
#endif
+//
+// If the compiler warns about unused typedefs then enable this:
+//
+#if defined(__GNUC__) && ((__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ >= 7)))
+# define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE __attribute__((unused))
+#else
+# define BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
+#endif
#ifndef BOOST_NO_CXX11_STATIC_ASSERT
# define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
@@ -122,7 +130,8 @@ template<int x> struct static_assert_tes
#define BOOST_STATIC_ASSERT( B ) \
typedef ::boost::static_assert_test<\
sizeof(::boost::STATIC_ASSERTION_FAILURE< BOOST_STATIC_ASSERT_BOOL_CAST( B ) >)>\
- BOOST_JOIN(boost_static_assert_typedef_, __LINE__)
+ BOOST_JOIN(boost_static_assert_typedef_, __LINE__) \
+ BOOST_STATIC_ASSERT_UNUSED_ATTRIBUTE
#endif
#else
Diff finished. Fri Jul 19 14:16:04 2013