c++: Don't try to parse a function declaration as deduction guide [PR97663]
authorJakub Jelinek <jakub@redhat.com>
Tue, 3 Nov 2020 20:42:51 +0000 (21:42 +0100)
committerJakub Jelinek <jakub@redhat.com>
Tue, 3 Nov 2020 20:42:51 +0000 (21:42 +0100)
commit875225301e356759982573d5578ed7ca54f81f86
tree4badf3d271e09fccdd5859f8416b30e7af2a56f5
parent9f925f3b198e210e0d124a3c69fae034f429942f
c++: Don't try to parse a function declaration as deduction guide [PR97663]

While these function declarations have NULL decl_specifiers->type,
they have still type specifiers specified from which the default int
in the return type is added, so we shouldn't try to parse those as
deduction guides.

2020-11-03  Jakub Jelinek  <jakub@redhat.com>

PR c++/97663
* parser.c (cp_parser_init_declarator): Don't try to parse
C++17 deduction guides if there are any type specifiers even when
type is NULL.

* g++.dg/cpp1z/class-deduction75.C: New test.
gcc/cp/parser.c
gcc/testsuite/g++.dg/cpp1z/class-deduction75.C [new file with mode: 0644]