PR c++/79316 - default argument in deduction guide
commitf31d89ff2d078fbcbddc61478ccbe65ad67db577
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Feb 2017 20:55:54 +0000 (9 20:55 +0000)
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 9 Feb 2017 20:55:54 +0000 (9 20:55 +0000)
treefdb30ba42b1dd45219d4eab973e41db807ec03b7
parented38a81076c214dbdd0c8e7ac541e9f108ba2283
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@245314 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/cp/ChangeLog
gcc/cp/cp-tree.h
gcc/cp/decl.c
gcc/cp/error.c
gcc/cp/parser.c
gcc/cp/pt.c
gcc/cp/tree.c
gcc/testsuite/g++.dg/cpp1z/class-deduction27.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/class-deduction28.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1z/class-deduction9.C