This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/79350] "explicit" deduction guides don't work
- From: "jason at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 09 Feb 2017 20:56:26 +0000
- Subject: [Bug c++/79350] "explicit" deduction guides don't work
- Auto-submitted: auto-generated
- References: <bug-79350-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79350
--- Comment #1 from Jason Merrill <jason at gcc dot gnu.org> ---
Author: jason
Date: Thu Feb 9 20:55:54 2017
New Revision: 245314
URL: https://gcc.gnu.org/viewcvs?rev=245314&root=gcc&view=rev
Log:
PR c++/79316 - default argument in deduction guide
PR c++/79350 - explicit deduction guide
* parser.c (cp_parser_constructor_declarator_p)
(cp_parser_direct_declarator): Parse deduction guides more like
constructors.
* cp-tree.h (enum special_function_kind): Add sfk_deduction_guide.
* tree.c (special_function_p): Return it.
* decl.c (check_special_function_return_type): Handle it.
(grokdeclarator, grokfndecl): Adjust.
(cp_finish_decl): Pass flags to do_auto_deduction.
* error.c (dump_decl_name): Use TFF_UNQUALIFIED_NAME.
* pt.c (dguide_name_p): Take a const_tree.
(do_class_deduction): Handle explicit.
(do_auto_deduction): Pass flags through.
(build_deduction_guide): Copy explicit flag.
Added:
trunk/gcc/testsuite/g++.dg/cpp1z/class-deduction27.C
trunk/gcc/testsuite/g++.dg/cpp1z/class-deduction28.C
Modified:
trunk/gcc/cp/ChangeLog
trunk/gcc/cp/cp-tree.h
trunk/gcc/cp/decl.c
trunk/gcc/cp/error.c
trunk/gcc/cp/parser.c
trunk/gcc/cp/pt.c
trunk/gcc/cp/tree.c
trunk/gcc/testsuite/g++.dg/cpp1z/class-deduction9.C