boostorg / program_options

Boost.org program_options module
http://boost.org/libs/program_options
108 stars 107 forks source link

Fix deprecated-dynamic-exception-spec warning #112

Open jonesmz opened 3 years ago

vprus commented 3 years ago

Thanks for the PR? Would it change the C++ level the library requires, though? I think it still compiles without C++ 11.

jonesmz commented 3 years ago

noexcept keyword was introduced in C++11.

noexcept is not 100% identical to throw(), but for the way boost program options uses it, they are equivalent.

Someone could define a BOOST_PROGRAM_OPTIONS_NOTHROW macro, which would use either throw() or noexcept based on the C++ language version detected at compile time.

Just to be clear, I don't intend to revisit this PR, or add support for older versions of C++ earlier than C++11. It's not that I think that's a bad idea, it's just beyond the scope of the time I have available for this work.

Someone else can add new commits to this PR, or this PR can be closed and replaced with a different PR.