Boost C++ Libraries: Ticket #4464: gccxml error with msvc 9 and boost https://svn.boost.org/trac10/ticket/4464 <p> I am using gccxml, built from current cvs at </p> <blockquote> <p> www.gccxml.org:/cvsroot/GCC_XML </p> </blockquote> <p> On Windows XP SP3, with Visual Studio version 9.0.30729.1 SP (SP1) </p> <p> <em> file test.hpp: </em></p> <pre class="wiki">#include &lt;boost/typeof/typeof.hpp&gt; </pre><p> typing this command: </p> <pre class="wiki"> gccxml -I"C:/Program Files/boost/boost_1_43_0" test.hpp </pre><p> yields the following error message: </p> <p> ################## </p> <pre class="wiki">In file included from C:/Program Files/boost/boost_1_43_0/boost/typeof/typeof.hpp:103, from test3.hpp:1: C:/Program Files/boost/boost_1_43_0/boost/typeof/msvc/typeof_impl.hpp:151: error: qualified name does not name a class before '{' token </pre><p> ################## </p> <p> The code in question appears on a block of the form </p> <pre class="wiki">#if BOOST_WORKAROUND(BOOST_MSVC,==1300) // Code specific to VC 7.0. #elif BOOST_WORKAROUND(BOOST_MSVC,&gt;=1400) // Code for VC 8.0 and above. #else // Code commented with "This uses nice VC6.5 and VC7.1 bugfeature" // that does not work with gccxml. Error is reported here. #endif </pre><p> I'd guess it should be choosing the middle block here. My fumbling attempts at preprocessor debugging suggest that the "BOOST_MSVC" macro is undefined when gccxml is emulating msvc here. </p> <p> The gccxml preprocessor simulates the definitions of the target compiler, but adds <span class="underline">GCCXML</span> to distinguish itself. </p> <p> Sorry I don't have a patch to submit. I'm unsure what the right way to handle this is. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/4464 Trac 1.4.3 Steven Watanabe Mon, 30 Aug 2010 00:55:44 GMT <link>https://svn.boost.org/trac10/ticket/4464#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4464#comment:1</guid> <description> <p> It looks like Boost.Typeof is inconsistent about using BOOST_MSVC vs. _MSC_VER. Does it work if you check _MSC_VER? Alternately, does it work if you change boost/typeof/typeof.hpp to use BOOST_MSVC? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Wed, 05 Sep 2012 17:24:08 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/4464#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/4464#comment:2</guid> <description> <p> ran into this yesterday, as of now gccxml still doesnt like any of the msvc specific hacks. </p> <p> however, i dont think we need them here anyway, so this can be avoided by addding &amp;&amp; !defined(<span class="underline">GCCXML</span>) after #elif defined(_MSC_VER) in boost/typeof/typeof.hpp </p> </description> <category>Ticket</category> </item> </channel> </rss>