Boost C++ Libraries: Ticket #3687: Boost.Serialization fails to compile on Solaris 10 x86 with gcc because of template that uses same name as SS macro https://svn.boost.org/trac10/ticket/3687 <p> /usr/include/sys/regset.h on Solaris 10 contains: </p> <p> #define SS 18 /* only stored on a privilege transition */ </p> <p> boost/serialization/static_warning.h contains: </p> <p> template&lt;int i&gt; struct SS {}; </p> <p> The unavoidable combination produces the compilation error: </p> <blockquote> <p> boost/serialization/static_warning.hpp:96: error: expected unqualified-id before numeric constant </p> </blockquote> <p> The combination is unavoidable because regset.h is pulled in by headers included by other boost headers. </p> <p> Solution: rename SS template to something else (e.g., boost_SS). </p> <p> 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. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3687 Trac 1.4.3 Robert Ramey Fri, 27 Nov 2009 22:32:29 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/3687#comment:1 https://svn.boost.org/trac10/ticket/3687#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> fixed in trunk. </p> <p> Robert Ramey </p> Ticket