[Boost-bugs] [Boost C++ Libraries] #2536: cxxabi.h not available with non-GNU library

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