https://gcc.gnu.org/bugzilla/show_bug.cgi?id=120009
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- >I will file a bug for __attribute__((unused)). There is no bug on the unused case, you are marking the typedef decl as unused not the type being unused. GNU C (and C23) also handles omitting the paramater name and there is no warning there.