Opened 14 years ago

Closed 14 years ago

#2468 closed Bugs (wontfix)

compile error with g++ -Wundef -Wall: BOOST_DYNAMIC_BITSET_GNUC_VERSION_WORKAROUND_GUARD

Reported by: ANDREW CHITTENDEN <andyc@…> Owned by: John Maddock
Milestone: Boost 1.38.0 Component: config
Version: Boost 1.36.0 Severity: Problem
Keywords: Cc: gennaro.prota@…

Description

/home/andyc/work/tiger/1/include/ppc_BOS/boost/dynamic_bitset/config.hpp:39:1: error: "BOOST_DYNAMIC_BITSET_GNUC_VERSION_WORKAROUND_GUARD" is not defined

The following patch fixes it:

boost/dynamic_bitset/config.hpp 1.1 vs edited

--- 1.1/boost/dynamic_bitset/config.hpp 2008-10-30 16:15:01 +00:00 +++ edited/boost/dynamic_bitset/config.hpp 2008-11-03 16:04:45 +00:00 @@ -29,6 +29,12 @@

#define BOOST_DYNAMIC_BITSET_GNUC_VERSION ( GNUC * 100 * 100 \

+ GNUC_MINOR * 100)

+#ifndef BOOST_DYNAMIC_BITSET_GNUC_VERSION +#define BOOST_DYNAMIC_BITSET_GNUC_VERSION_WORKAROUND_GUARD 1 +#else +#define BOOST_DYNAMIC_BITSET_GNUC_VERSION_WORKAROUND_GUARD 0 +#endif +

no-op function to workaround gcc bug c++/8419 namespace boost { namespace detail {

Change History (3)

comment:1 by Marshall Clow, 14 years ago

Component: Nonedynamic_bitset
Owner: set to Gennaro Prota

comment:2 by Gennaro Prota, 14 years ago

Cc: gennaro.prota@… added
Component: dynamic_bitsetconfig
Owner: changed from Gennaro Prota to John Maddock

That's because of some "clever" changes done in detail/workaround.hpp.

If the argument has to be a single token then that should be documented (though the parameter name seems a hint in that regard). Anyhow, as far as dynamic_bitset is concerned, I'll get simply rid of BOOST_WORKAROUND(). Please, do not apply the attached patch because it is completely broken.

I've also changed the Component property to 'config', which is the closest thing I could find (and is maintained by the person who did the changes in detail/workaround.hpp).

comment:3 by John Maddock, 14 years ago

Resolution: wontfix
Status: newclosed

Gennaro,

I'm closing this down, because there are no changes we can actually make inside BOOST_WORKAROUND that would fix this. The 'clever' changes you mention were actually discussed at some length on the developer list and were chosen to make the best of a bad job (without them you get even more spurious warnings from gcc).

Please file a new issue if there's a general issue with BOOST_WORAROUND.

Thanks, John Maddock.

Note: See TracTickets for help on using tickets.