c++: Fix thinko in auto return type checking [PR98441]
authorMarek Polacek <polacek@redhat.com>
Wed, 6 Jan 2021 00:17:10 +0000 (19:17 -0500)
committerMarek Polacek <polacek@redhat.com>
Thu, 7 Jan 2021 21:19:29 +0000 (16:19 -0500)
commit2f359597e49a15a2aef8f83ea7a14649854334cb
treeb68dbb6ee06ac4adb412fa526bc0d06a21a7e9ef
parent6c59b8a93cf4784e3e3137416a3d32a1ecc8e00b
c++: Fix thinko in auto return type checking [PR98441]

This fixes a thinko in my r11-2085 patch: when I said "But only give the
!late_return_type errors when funcdecl_p, to accept e.g. auto (*fp)() = f;
in C++11" I should've done this, otherwise we give bogus errors mentioning
"function with trailing return type" when there is none.

gcc/cp/ChangeLog:

PR c++/98441
* decl.c (grokdeclarator): Move the !funcdecl_p check inside the
!late_return_type block.

gcc/testsuite/ChangeLog:

PR c++/98441
* g++.dg/cpp0x/auto55.C: New test.
gcc/cp/decl.c
gcc/testsuite/g++.dg/cpp0x/auto55.C [new file with mode: 0644]