Re: [Boost-bugs] [Boost C++ Libraries] #7642: archive::archive_exception fails to build when using C++11 with gcc 4.7.2

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #7642: archive::archive_exception fails to build when using C++11 with gcc 4.7.2
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-11-06 19:00:20


#7642: archive::archive_exception fails to build when using C++11 with gcc 4.7.2
-----------------------------------+----------------------------------------
  Reporter: steven.lemay@… | Owner: ramey
      Type: Bugs | Status: new
 Milestone: To Be Determined | Component: serialization
   Version: Boost 1.52.0 | Severity: Problem
Resolution: | Keywords: archive exception failed throw destructor
-----------------------------------+----------------------------------------

Comment (by ramey):

 I've investigated this and some things occur to me.

 a) I'm suspecting that this some sort of compiler/library quirk related to
 qcc compiler. I say this because our text matrix shows problems with this
 compiler and the serialization library.

 b) I don't see virtual
 boost::archive::archive_exception::~archive_exception() throw (); on line
 86 of boost/archive/archive_exception.hpp:86: What I DO see is
 ~archive_exception(); which looks fine to me.

 c) Another thing I see is:
 class BOOST_ARCHIVE_DECL(BOOST_PP_EMPTY()) archive_exception :
     public virtual std::exception
 {
 on line 44 of boost/archive/archive_exception.hpp: This raises a couple
 of issues:

 1) Why did I put "virtual" there. This would be to conflate base classes
 when the exception is part of a multiple inheritance hierarchy. Perhaps
 not a bad idea. But I doubt that it's used by anyone.

 2)I looks to me that the compiler is using this to mean that all functions
 are virtual? One can only guess.

 I would try commenting out the "virtual" inheritance and see if that fixes
 things. Since I don't have this compiler, this would fall to you. I
 would also much appreciate it if you used
 tools/regression/src/library_test.sh to run ALL the serialization library
 tests after making this change and let me know what happens. Meanwhile,
 I'll leave this pending.

 Robert Ramey

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7642#comment:1>
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:11 UTC