Subject: Re: [Boost-bugs] [Boost C++ Libraries] #4191: c++ library using regex included in objective-c needs rename of variable id
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-11-04 09:46:52
#4191: c++ library using regex included in objective-c needs rename of variable id
--------------------------------+-------------------------------------------
Reporter: lydisworld@⦠| Owner: chris_kohlhoff
Type: Patches | Status: reopened
Milestone: Boost 1.43.0 | Component: asio
Version: Boost 1.42.0 | Severity: Problem
Resolution: | Keywords:
--------------------------------+-------------------------------------------
Comment (by anonymous):
Replying to [comment:11 anonymous]:
> So unless the user #define's "id",
> '#pragma push_macro("id")' in push_options.hpp and
> '#pragma pop_macro("id")' in pop_options.hpp do not make any effect,
> and thus the macro '#define id cpp_id' in push_options.hpp is still
valid after pop_macro. [[BR]]
This was wrong; This happened simply because the pragmas push_macro and
pop_macro are not implemented on the tested compilers. After updating gcc
from 4.4.1 (!MacPorts) to 4.4.5 (!MacPorts), "test.mm" gets successfully
compiled with r66143.
However, with r66289, compiling "test.mm" using !MacPorts gcc 4.4.5 fails
again (see below).
Comments about r66289, [[BR]]
!MacPorts gcc's are non-apple compilers, but they seem to have
!__APPLE_CC!__ macros.
While !__APPLE_CC!__ is defined as 1 in !MacPorts gcc's,
Apple gcc's define !__APPLE_CC!__ as the build numbers (e.g. 5488 and
5564).
So it might be better to use
{{{
!(defined(__APPLE_CC__) && __APPLE_CC__ > 1)
}}}
for detecting non-Apple compilers.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4191#comment:12> 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:04 UTC