Boost C++ Libraries: Ticket #929: BOOST_RE_USE_FACET macro def wrong https://svn.boost.org/trac10/ticket/929 <pre class="wiki">When using STLPort (4.1 beta 6) with VC6, the BOOST_RE_USE_FACET() macro definition is wrong. I've been unable to trace how it gets to be this way, but here's an example of the problem. In cpp_regex_traits.cpp, we have: const std::messages&lt;char&gt;* pm = &amp;BOOST_RE_USE_FACET (l, std::messages&lt;char&gt;); This gets expanded by the preprocessor to: const _STL::messages&lt;char&gt;* pm = &amp;_STL::*_Use_facet (l, (_STL::messages&lt;char&gt;*)0, true); Note that STLPort defines std to _STL. That's nothing to worry about. The problem is that "_STL::*_Use_facet" is a syntax error. I tried tracking this down in regex_config.hpp, but got lost. Here are all the possible definitions for BOOST_RE_USE_FACET: #define BOOST_RE_USE_FACET(l, m) (*std::_Use_facet&lt;m &gt;(l)) This can't be the one being used -- the * is in the wrong place. I'd expect it to come just before the _Use_facet. #define BOOST_RE_USE_FACET(l, type) std::use_facet (l, (type*)0, true) This is obviously not it. #define BOOST_RE_USE_FACET(l, type) std::use_facet (l, (type*)0) Neither is this. #define BOOST_RE_USE_FACET(l, type) std::use_facet&lt; type &gt;(l) Niether is this. #define BOOST_RE_USE_FACET(l, type) std::use_facet (l, (type*)0) Nor this. So, I'm unable to figure out how the preprocessor is ending up with a * just in front of _Use_facet. It's pretty hard to debug the preprocessor! So, as it stands, something is broken. Whether it's VC6 or regex_config.hpp, I can't tell... </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/929 Trac 1.4.3 John Maddock Thu, 10 May 2001 10:47:18 GMT <link>https://svn.boost.org/trac10/ticket/929#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/929#comment:1</guid> <description> <pre class="wiki">Logged In: YES user_id=14804 Thanks, I haven't really looked at STLPort 4.1Beta yet (last time I did it had too many problems for production use). Currently BOOST_RE_USE_FACET is set up for STLPort 4.0 which uses a very non-standard form. I'll look into the issue. </pre> </description> <category>Ticket</category> </item> <item> <dc:creator>John Maddock</dc:creator> <pubDate>Fri, 11 May 2001 11:06:40 GMT</pubDate> <title>status changed https://svn.boost.org/trac10/ticket/929#comment:2 https://svn.boost.org/trac10/ticket/929#comment:2 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> Ticket