[Boost-bugs] [Boost C++ Libraries] #11361: Solaris - `std::exception`

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
 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
 compatible with code generated by unfixed compilers. The fix thus will not
 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