Subject: [Boost-bugs] [Boost C++ Libraries] #4763: boost/units/detail/utility.hpp uses gcc demangle API which is not available on clang
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2010-10-20 16:23:51
#4763: boost/units/detail/utility.hpp uses gcc demangle API which is not available
on clang
------------------------------+---------------------------------------------
Reporter: sefi@⦠| Owner: matthiasschabel
Type: Bugs | Status: new
Milestone: To Be Determined | Component: units
Version: Boost 1.44.0 | Severity: Problem
Keywords: |
------------------------------+---------------------------------------------
The check in the header looks like this:
{{{#if defined(__GLIBCXX__) || defined(__GLIBCPP__)}}}
However, clang++ also defines (at least one of) these macros but doesn't
offer the gcc demangle API, so anything that uses this header will fail to
compile on clang (like boost/exception/detail/type_info.hpp - The fact
that this header includes a detail header from another library is, in my
opinion, a bug in itself that should be fixed).
I "fixed" this by changing the line into:
{{{#if !defined(__clang__) && (defined(__GLIBCXX__) ||
defined(__GLIBCPP__))}}}
I think this isn't a real fix. boost should use something like configure
checks to see if {{{abi::__cxa_demangle}}} is actually usable.
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/4763> 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