Subject: [Boost-bugs] [Boost C++ Libraries] #11361: Solaris - `std::exception`
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2015-05-29 14:28:09
#11361: Solaris - `std::exception`
---------------------+------------------------------
Reporter: Zok | Type: Support Requests
Status: new | Milestone: To Be Determined
Component: None | Version: Boost 1.58.0
Severity: Problem | Keywords: Solaris
---------------------+------------------------------
For some complicated class hierarchies that have virtual base classes with
no
data members, the Oracle Solaris Studio C++ compiler generates incorrect
vtables. The issue is fixed in C++ 5.4 and higher, but if the fix for this
compiler bug were enabled, code generated by the fixed compiler would not
be
compatible with code generated by unfixed compilers. The fix thus will not
be
enabled until the C++ ABI is changed.
To avoid the problem we have to pass:
'''-xwarn_empty_vbase -errwarn=warn_empty_virt_base'''
The problem is `'''archive_exception'''`, `'''hex_decode_error'''` inherit
from std::exception with `virtual`.
Now, obviously, we are getting `Error: Class "std::exception" appears as
an empty virtual base class.`
Sun compiler team said they are not planning to fix this, because it will
change the ABI.
Is there a way we can fix this on Boost side? (possibly with condition for
Sun pre C++ 5.4)
Thank you!
-- Ticket URL: <https://svn.boost.org/trac/boost/ticket/11361> 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:18 UTC