Subject: [Boost-bugs] [Boost C++ Libraries] #2536: cxxabi.h not available with non-GNU library
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2008-11-25 23:45:49
#2536: cxxabi.h not available with non-GNU library
------------------------------------------------------+---------------------
Reporter: Niklas Angare <li51ckf02_at_[hidden]> | Owner: matthiasschabel
Type: Patches | Status: new
Milestone: Boost 1.38.0 | Component: units
Version: Boost Development Trunk | Severity: Problem
Keywords: |
------------------------------------------------------+---------------------
cxxabi.h isn't available on QNX 6 when the default Dinkumware library is
used. boost/units/detail/utility.hpp assumes that cxxabi.h is available
whenever GCC is used (with one exception).
The first attached patch utility.hpp.QNX.patch adds a check that the GNU
C++ Library is used on QNX 6. It doesn't affect other OSes.
The second alternative patch utility.hpp.clean.patch is a cleanup for all
platforms that just checks if the GNU C++ Library is used and enables
demangling with cxxabi.h if it is.
According to the documentation, either _GLIBCXX_ or _GLIBCPP_ is defined
by the library ever since GCC 3.1:[[BR]]
http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch03s04.html
Unless the demangling code absolutely needs to be used on GCC 3.0.x or on
other platforms with cxxabi.h but no GNU library (if they exist), I would
suggest the cleanup patch.
The definition of BOOST_UNITS_USE_DEMANGLING and the second #if seemed
redundant so I removed them. The two #if lines were the same at revision
46171 but they had since gone out of sync.
All tests for Units pass with either the GNU library or the Dinkumware
library with either patch on QNX 6.4.0 (GCC 4.2.4).
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/2536> 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:49:59 UTC