aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-family/ChangeLog
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2019-11-27 22:05:53 +0000
committerJason Merrill <jason@redhat.com>2019-11-27 22:05:53 +0000
commitddcbf537ec3d1aefabb385527a67aa4bb4e6246d (patch)
tree3f4b4913ffbd60d6a8230235c945963f61958534 /gcc/c-family/ChangeLog
parentac1745ae600ec50d9248cc720559167ac10a0ecb (diff)
Implement P1814R0, CTAD for alias templates.
This patch implements C++20 class template argument deduction for alias templates, which works by a moderately arcane transformation of the deduction guides for the underlying class template. When implementing it, it seemed that I could simplify the rules in the draft a bit and get essentially the same effect; I'll be emailing the committee to that effect soon. gcc/cp/ * pt.c (rewrite_tparm_list): Factor out of build_deduction_guide. (maybe_aggr_guide): Check for copy-init here. (alias_ctad_tweaks, deduction_guides_for): New. (ctor_deduction_guides_for): Factor out of do_class_deduction. (ctad_template_p): New. * parser.c (cp_parser_simple_type_specifier): Use it. * constraint.cc (append_constraint): New. gcc/c-family/ * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@278786 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-family/ChangeLog')
-rw-r--r--gcc/c-family/ChangeLog4
1 files changed, 4 insertions, 0 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog
index 89292175846..a26b1f28ead 100644
--- a/gcc/c-family/ChangeLog
+++ b/gcc/c-family/ChangeLog
@@ -1,3 +1,7 @@
+2019-11-27 Jason Merrill <jason@redhat.com>
+
+ * c-cppbuiltin.c (c_cpp_builtins): Update __cpp_deduction_guides.
+
2019-11-26 Jakub Jelinek <jakub@redhat.com>
PR c++/61414