https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79458
Martin Sebor <msebor at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Known to fail| |7.3.0, 8.2.0, 9.0 --- Comment #4 from Martin Sebor <msebor at gcc dot gnu.org> --- No improvement in GCC 8 or 9. The top of trunk prints: $ cat t.C && gcc -O2 -S -Wall -std=c++1z t.C class test { test [[gnu::nonnull]] (char * arg); }; test::test(char * arg) { } t.C:3:27: error: expected unqualified-id before ‘char’ 3 | test [[gnu::nonnull]] (char * arg); | ^~~~ t.C:3:27: error: expected ‘)’ before ‘char’ 3 | test [[gnu::nonnull]] (char * arg); | ~^~~~ | ) t.C:6:1: error: no declaration matches ‘test::test(char*)’ 6 | test::test(char * arg) { | ^~~~ t.C:2:7: note: candidates are: ‘constexpr test::test(test&&)’ 2 | class test { | ^~~~ t.C:2:7: note: ‘constexpr test::test(const test&)’ t.C:2:7: note: ‘constexpr test::test()’ t.C:2:7: note: ‘class test’ defined here