https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101766
--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> --- __has_attribute is broken for many attributes. If GCC supports them in a generic way but does not really support them, __has_attribute still returns true.