Opened 7 years ago

Closed 7 years ago

#11361 closed Support Requests (wontfix)

Solaris - `std::exception`

Reported by: Zok Owned by: Robert Ramey
Milestone: To Be Determined Component: serialization
Version: Boost 1.58.0 Severity: Problem
Keywords: Solaris Cc:

Description

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!

Change History (3)

comment:1 by John Maddock, 7 years ago

Component: Noneserialization
Owner: set to Robert Ramey

comment:2 by anonymous, 7 years ago

If you want to submit a specific suggestion to modify the code, I'll be happy to take a look at it and consider adding it.

Robert Ramey

comment:3 by Robert Ramey, 7 years ago

Resolution: wontfix
Status: newclosed
Note: See TracTickets for help on using tickets.