This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Disable -std=c++17 "ISO C++1z does not allow dynamic exception specifications"?


On 21 February 2017 at 14:51, Jakub Jelinek wrote:
> On Tue, Feb 21, 2017 at 03:44:17PM +0100, Stephan Bergmann wrote:
>> There is no flag to suppress that error or demote it to a warning, is there?
>> Could be useful when adapting large code bases to C++17 incrementally.
>
> It is a warning in C++11/C++14 now, so compile with -std=c++14 and
> incrementally fix all those warnings, then switch over to -std=c++17?
>
> -std=c++17 also turns on P0012R1 (noexcept part of the typesystem), so not
> sure what would the deprecated dynamic exception specification mean
> together with that (we shouldn't be adding new mangling for the dynamic
> exception specification etc.).

We absolutely shouldn't add new mangling, but it could simply mean
noexcept(false).

An exception specification that says "this can throw X, Y and Z" means
it can throw.

I'm not proposing we do that though, I want dynamic exception
specifications to go away ASAP :-) I'm surprised who are trying C++17
didn't get the memo 10+ years ago that they were broken and useless.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]