[Boost-bugs] [Boost C++ Libraries] #4464: gccxml error with msvc 9 and boost

Subject: [Boost-bugs] [Boost C++ Libraries] #4464: gccxml error with msvc 9 and boost
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-07-23 17:21:21


#4464: gccxml error with msvc 9 and boost
-------------------------------------------------------------+--------------
 Reporter: Christopher Bruns <cmbruns@…> | Owner: burbelgruff
     Type: Bugs | Status: new
Milestone: Boost 1.44.0 | Component: typeof
  Version: Boost 1.43.0 | Severity: Problem
 Keywords: |
-------------------------------------------------------------+--------------
 I am using gccxml, built from current cvs at
   www.gccxml.org:/cvsroot/GCC_XML
 On Windows XP SP3, with Visual Studio version 9.0.30729.1 SP (SP1)

 // file test.hpp:
 {{{
 #include <boost/typeof/typeof.hpp>
 }}}

 typing this command:


 {{{
    gccxml -I"C:/Program Files/boost/boost_1_43_0" test.hpp
 }}}


 yields the following error message:

 ##################

 {{{
 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
 }}}

 ##################

 The code in question appears on a block of the form


 {{{
 #if BOOST_WORKAROUND(BOOST_MSVC,==1300)
 // Code specific to VC 7.0.
 #elif BOOST_WORKAROUND(BOOST_MSVC,>=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
 }}}


 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.

 The gccxml preprocessor simulates the definitions
 of the target compiler, but adds __GCCXML__ to distinguish
 itself.

 Sorry I don't have a patch to submit. I'm unsure what the right way to
 handle this is.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/4464>
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:03 UTC