c++: Better diagnostic for decltype(auto) in C++11 [PR96103]
authorMarek Polacek <polacek@redhat.com>
Tue, 7 Jul 2020 21:09:42 +0000 (17:09 -0400)
committerMarek Polacek <polacek@redhat.com>
Wed, 8 Jul 2020 13:13:39 +0000 (09:13 -0400)
commita51de1af063b0a9233762dcd6ecf2ea0bdf4cdff
treeb7722f9e5c4e47e8e1ce9a6a0523c207e60d532a
parent4070208f2384df01798d23e6ecba7b30296aa588
c++: Better diagnostic for decltype(auto) in C++11 [PR96103]

If you try to use decltype(auto) in C++11, we emit obscure

  error: expected primary-expression before 'auto'

giving the user no hint as to what's wrong.  This patch improves that
diagnostic.  Since we've been giving an error, I'm also using error().

gcc/cp/ChangeLog:

PR c++/96103
* parser.c (cp_parser_decltype): Print error about using decltype(auto)
in C++11.  Check that the token following "auto" is ")".

gcc/testsuite/ChangeLog:

PR c++/96103
* g++.dg/cpp0x/decltype77.C: New test.
gcc/cp/parser.c
gcc/testsuite/g++.dg/cpp0x/decltype77.C [new file with mode: 0644]