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/cp/parser.h | |
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/cp/parser.h')
-rw-r--r-- | gcc/cp/parser.h | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/gcc/cp/parser.h b/gcc/cp/parser.h index 91b5916..2004982 100644 --- a/gcc/cp/parser.h +++ b/gcc/cp/parser.h @@ -163,10 +163,6 @@ struct GTY(()) cp_unparsed_functions_entry { FIELD_DECLs appear in this list in declaration order. */ vec<tree, va_gc> *nsdmis; - /* Nested classes go in this vector, so that we can do some final - processing after parsing any NSDMIs. */ - vec<tree, va_gc> *classes; - /* Functions with noexcept-specifiers that require post-processing. */ vec<tree, va_gc> *noexcepts; }; |