diff options
author | Jason Merrill <jason@redhat.com> | 2019-10-23 16:41:26 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2019-10-23 16:41:26 -0400 |
commit | 0998d2fd59e7a5eb3a3566c57625702bbdc6a05f (patch) | |
tree | 18bcab37dfecdae810feb52e18f4461f970f4fbe /gcc/fortran/resolve.c | |
parent | cbb28ef1534b13373bc38533c9e05035fe84894b (diff) | |
download | gcc-0998d2fd59e7a5eb3a3566c57625702bbdc6a05f.zip gcc-0998d2fd59e7a5eb3a3566c57625702bbdc6a05f.tar.gz gcc-0998d2fd59e7a5eb3a3566c57625702bbdc6a05f.tar.bz2 |
Implement P1286R2, Contra CWG1778
The C++11 requirement that an explicit exception-specification on a
defaulted function match the implicit one was found to be problematic for
std::atomic. This paper, adopted in February, simply removes that
requirement: if an explicitly defaulted function has a different
exception-specification, that now works just like a user-written function:
either it isn't noexcept when it could be, or it is noexcept and will call
terminate if an exception is thrown.
* method.c (defaulted_late_check): Don't check explicit
exception-specification on defaulted function.
(after_nsdmi_defaulted_late_checks): Remove.
* parser.h (struct cp_unparsed_functions_entry): Remove classes.
* parser.c (unparsed_classes): Remove.
(push_unparsed_function_queues, cp_parser_class_specifier_1):
Adjust.
From-SVN: r277351
Diffstat (limited to 'gcc/fortran/resolve.c')
0 files changed, 0 insertions, 0 deletions