https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80516
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
The warning has changed slightly since GCC 9:
80516.cc:6:3: warning: ‘signed’ specified with ‘u’ {aka ‘unsigned int’}
[-Wpedantic]
6 | S<signed u> s;
| ^~~~~~
This is emitted by grokdeclarator in gcc/cp/decl.c:
else if (!explicit_int && !defaulted_int
&& !explicit_char && !explicit_intN)
{
if (typedef_decl)
{
pedwarn (loc, OPT_Wpedantic, "%qs specified with %qT",
key, type);
ok = !flag_pedantic_errors;
}
else if (declspecs->decltype_p)
error_at (loc, "%qs specified with %<decltype%>", key);
else
error_at (loc, "%qs specified with %<typeof%>", key);
}
Maybe we can change it to an error by default, but allow it with -fpermissive.