Boost C++ Libraries: Ticket #2536: cxxabi.h not available with non-GNU library https://svn.boost.org/trac10/ticket/2536 <p> 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). </p> <p> 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. </p> <p> 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. </p> <p> According to the documentation, either _GLIBCXX_ or _GLIBCPP_ is defined by the library ever since GCC 3.1:<br /> <a class="ext-link" href="http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch03s04.html"><span class="icon">​</span>http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt01ch03s04.html</a> </p> <p> 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. </p> <p> 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. </p> <p> 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). </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/2536 Trac 1.4.3 Niklas Angare <li51ckf02@…> Tue, 25 Nov 2008 23:46:22 GMT attachment set https://svn.boost.org/trac10/ticket/2536 https://svn.boost.org/trac10/ticket/2536 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">utility.hpp.QNX.patch</span> </li> </ul> Ticket Niklas Angare <li51ckf02@…> Tue, 25 Nov 2008 23:46:50 GMT attachment set https://svn.boost.org/trac10/ticket/2536 https://svn.boost.org/trac10/ticket/2536 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">utility.hpp.clean.patch</span> </li> </ul> Ticket Steven Watanabe Sun, 28 Dec 2008 01:01:30 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/2536#comment:1 https://svn.boost.org/trac10/ticket/2536#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> Fixed in the trunk in <a class="changeset" href="https://svn.boost.org/trac10/changeset/49945" title="fix for OS using gcc without gnu libraries">[49945]</a> Merged to release in <a class="changeset" href="https://svn.boost.org/trac10/changeset/50236" title="Merge compiler workarounds, construction from a literal 0, and use of ...">[50236]</a> </p> Ticket