Boost logo

Boost :

From: Christopher Currie (codemonkey_at_[hidden])
Date: 2004-07-14 11:09:50


Christopher Currie wrote:
> David Abrahams wrote:
>
>> Christopher Currie <codemonkey_at_[hidden]> writes:
>>
>>> Can anyone lend assistance in debugging the Sun regressions for Boost
>>> Preprocessor? The early access edition of the Studio 9 compiler is
>>> failing on BOOST_PP code that compiles just fine under earlier
>>> versions.
>>
>>
>> Not knowing much, the first thing I'd do is play with the flags
>> settings in boost/preprocessor/config/config.hpp to see if any of
>> those can work around the problem.
>>
>
> That, combined with some futher investigation, yielded a partial
> solution: the newest version of the Sun needs to enable
> BOOST_PP_CONFIG_MSVC, in order for BOOST_PP_BITAND to work properly.
> Enabling this does not cause regressions in the earlier version, at
> least w.r.t. Boost PP.

I've attached a patch for boost/preprocessor/config/config.hpp, in order
to at least fix the most common problems the Sun Studio 9 compiler is
having with BOOST_PP_WHILE, as a number of libraries are choking on this
at the moment.

Thanks,
Christopher

-- 
Christopher Currie <codemonkey_at_[hidden]>

Index: boost/preprocessor/config/config.hpp
===================================================================
RCS file: /cvsroot/boost/boost/boost/preprocessor/config/config.hpp,v
retrieving revision 1.9
diff -u -u -r1.9 config.hpp
--- boost/preprocessor/config/config.hpp 18 Dec 2003 23:56:04 -0000 1.9
+++ boost/preprocessor/config/config.hpp 14 Jul 2004 16:03:41 -0000
@@ -30,8 +30,10 @@
 # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_EDG() | BOOST_PP_CONFIG_STRICT())
 # elif defined(__MWERKS__)
 # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MWCC())
-# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__) || defined(__SUNPRO_CC)
+# elif defined(__BORLANDC__) || defined(__IBMC__) || defined(__IBMCPP__)
 # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC())
+# elif defined(__SUNPRO_CC)
+# define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_BCC() | BOOST_PP_CONFIG_MSVC())
 # elif defined(_MSC_VER)
 # define BOOST_PP_CONFIG_FLAGS() (BOOST_PP_CONFIG_MSVC())
 # else


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk