Boost logo

Boost :

Subject: [boost] [C++11] If you have an old class with a throwing destructor...
From: Daryle Walker (darylew_at_[hidden])
Date: 2013-09-07 09:22:19


I just got reminded of a breaking change in C++11 regarding this. Destructors without any exception specification in C++11 get `noexcept(true)` added to them. This means that pre-C++11 classes with throwing destructors turn into `std::terminate` bombs when imported to a C++11 project!

I have two^H^H^Hthree such classes in Boost, so I just reported myself. (It's bug #9088, if you're curious.) Any other maintainers as stu^H^H^Henlightened as me should review their classes and add `noexcept(false)` when compiling in C++11 mode.

If there are other libraries affected, maybe someone should make an en-masse bug ticket.

Daryle W.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk