aboutsummaryrefslogtreecommitdiff
path: root/gcc/cp/parser.h
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2019-10-23 16:41:26 -0400
committerJason Merrill <jason@gcc.gnu.org>2019-10-23 16:41:26 -0400
commit0998d2fd59e7a5eb3a3566c57625702bbdc6a05f (patch)
tree18bcab37dfecdae810feb52e18f4461f970f4fbe /gcc/cp/parser.h
parentcbb28ef1534b13373bc38533c9e05035fe84894b (diff)
downloadgcc-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.h4
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;
};