Package: libboost1.53-dev
Version: 1.53.0-4
Severity: normal
Tags: upstream patch
Control: block 701243 by -1

Dear Maintainer,

Boost 1.53 and earlier have a BOOST_STATIC_ASSERT macro that generates
unused-local-typedef warnings with GCC 4.8.  These are fatal for all
users of -Werror.

This was previously mentioned as part of the report against 1.49
(#701377) but seems to have been missed in 1.49.0-4.

The attached patch is cherry picked from 1.54.  Please include this in
1.53 and 1.49.

Regards


-- System Information:
Debian Release: wheezy/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: i386 (i686)

Kernel: Linux 2.6.32-5-686-bigmem (SMP w/1 CPU core)
Locale: LANG=en_AU.utf8, LC_CTYPE=en_AU.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages libboost1.53-dev depends on:
ii  libc6                               2.17-3
ii  libgcc1                             1:4.8.0-7
ii  libicu48                            4.8.1.1-12
ii  libstdc++-4.8-dev [libstdc++-dev]   4.8.0-7
ii  libstdc++6                          4.8.0-7
ii  libstdc++6-4.7-dev [libstdc++-dev]  4.7.2-5

libboost1.53-dev recommends no packages.

Versions of packages libboost1.53-dev suggests:
pn  default-jdk                       <none>
ii  docbook-xml                       4.5-7.2
ii  docbook-xsl                       1.78.1+dfsg-1
ii  doxygen                           1.7.6.1-2.1
pn  fop                               <none>
pn  libboost-atomic1.53-dev           <none>
pn  libboost-chrono1.53-dev           <none>
pn  libboost-context1.53-dev          <none>
pn  libboost-date-time1.53-dev        <none>
pn  libboost-exception1.53-dev        <none>
pn  libboost-filesystem1.53-dev       <none>
pn  libboost-graph-parallel1.53-dev   <none>
pn  libboost-graph1.53-dev            <none>
ii  libboost-iostreams1.53-dev        1.53.0-4
pn  libboost-locale1.53-dev           <none>
pn  libboost-math1.53-dev             <none>
pn  libboost-mpi-python1.53-dev       <none>
pn  libboost-mpi1.53-dev              <none>
pn  libboost-program-options1.53-dev  <none>
ii  libboost-python1.53-dev           1.53.0-4
pn  libboost-random1.53-dev           <none>
ii  libboost-regex1.53-dev            1.53.0-4
ii  libboost-serialization1.53-dev    1.53.0-4
pn  libboost-signals1.53-dev          <none>
pn  libboost-system1.53-dev           <none>
ii  libboost-test1.53-dev             1.53.0-4
pn  libboost-thread1.53-dev           <none>
pn  libboost-timer1.53-dev            <none>
pn  libboost-wave1.53-dev             <none>
pn  libboost1.53-doc                  <none>
ii  xsltproc                          1.1.26-14.1

-- no debconf information
Description: [BOOST_STATIC_ASSERT]: GCC 4.8 warns unused local typedef
 Part of upstream changeset [82886].
Bug: https://svn.boost.org/trac/boost/ticket/7242
Origin: https://svn.boost.org/trac/boost/changeset/82886

--- a/boost/static_assert.hpp
+++ b/boost/static_assert.hpp
@@ -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_STATIC_ASSERT
 #  define BOOST_STATIC_ASSERT( B ) static_assert(B, #B)
@@ -122,7 +130,7 @@
 #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

Reply via email to