Skip to content

remove `throw(...)` or replace by `noexcept`

The throw(...) specification was marked deprecated in C++11 since it was not really useful. The replacement noexcept was introduced to mark a function to not throw an exception, to maybe allow the compiler to make more aggressive optimization (especially in the context of move semantics). In Dune::common there are a lot of functions marked with throw(...). Activating the flag -std=c++1z in g++-7 then leads to a compiler error since the deprecated features are removed in the upcoming standard.

Suggestion: Since it is already deprecated and does not have an effect, remove the throw(...) specification on the following functions and maybe replace throw() by noexcept where applicable:

  • bigunsignedint.hh
  • debugallocator.hh
  • timer.hh
  • poolallocator.hh
  • parallel/remoteindices.hh
  • parallel/indexset.hh
  • mallocallocator.hh
  • debugstream.hh