https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107947
--- Comment #4 from Andrew Pinski <pinskia at gcc dot gnu.org> --- To expand on the invalid placement of the attribute, the C++ front-end also rejects it and also see PR 101682 which is also asking about it, gnulib was broken at one point. I did find that clang accepts the invalid placement of the attribute for its C front-end in non-pedantic mode which might be the reason why some folks think it should work.