[Boost-bugs] [Boost C++ Libraries] #3687: Boost.Serialization fails to compile on Solaris 10 x86 with gcc because of template that uses same name as SS macro

Subject: [Boost-bugs] [Boost C++ Libraries] #3687: Boost.Serialization fails to compile on Solaris 10 x86 with gcc because of template that uses same name as SS macro
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2009-11-27 20:21:17


#3687: Boost.Serialization fails to compile on Solaris 10 x86 with gcc because of
template that uses same name as SS macro
--------------------------+-------------------------------------------------
 Reporter: anonymous | Owner: ramey
     Type: Bugs | Status: new
Milestone: Boost 1.42.0 | Component: serialization
  Version: Boost 1.41.0 | Severity: Showstopper
 Keywords: |
--------------------------+-------------------------------------------------
 /usr/include/sys/regset.h on Solaris 10 contains:

 #define SS 18 /* only stored on a privilege transition
 */

 boost/serialization/static_warning.h contains:

 template<int i>
 struct SS {};

 The unavoidable combination produces the compilation error:
   boost/serialization/static_warning.hpp:96: error: expected unqualified-
 id before numeric constant
 The combination is unavoidable because regset.h is pulled in by headers
 included by other boost headers.

 Solution: rename SS template to something else (e.g., boost_SS).

 Although the BSW macro doesn't conflict with anything I'm aware of, it
 would be prudent to rename that macro (perhaps to
 BOOST_SERIALIZATION_STATIC_WARNING), to avoid future conflicts on other
 platforms.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/3687>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:01 UTC