release clang++ std=c++23/26 trunk version emit diagnostics errors on #include <boost/program_options.hpp>
https://gcc.godbolt.org/z/d3PTjdMhr this is fixed by changing suspect throw() declarations with BOOST_NOEXCEPT I have not checked rest of boost for diagnostics with this compiler, but my understanding is that throw() declarations are no longer part of the standard and compilers may emit diagnostics like this. Is there any reason, except for the work to be done, not to use BOOST_NOEXCEPT everywhere? — Bjørn
Bjørn Roald wrote:
https://gcc.godbolt.org/z/d3PTjdMhr
this is fixed by changing suspect throw() declarations with BOOST_NOEXCEPT
I have not checked rest of boost for diagnostics with this compiler, but my understanding is that throw() declarations are no longer part of the standard and compilers may emit diagnostics like this. Is there any reason, except for the work to be done, not to use BOOST_NOEXCEPT everywhere?
No, although the correct one here in principle is BOOST_NOEXCEPT_OR_NOTHROW because std::exception::~exception is declared throw() in C++03.
participants (2)
-
Bjørn Roald
-
Peter Dimov