http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60906
--- Comment #6 from Jakub Jelinek <jakub at gcc dot gnu.org> --- GCC has like 60 or 70 target independent attributes plus sometimes various target dependent attributes. Figuring out which are ABI changing and must be errored out on mismatch, which are safe to ignore, which are only affecting function generation and not callers is going to be hard even for the existing ones, and would be a maintainance burden for the future, as for each new attribute (every year a few of them are added) it would be another place to modify and think about what the behavior should be. Keying something on default attribute would be weird, for multi-versioning you don't have to have target ("default") I think. If you want to inherit the attributes, perhaps from the first decl only, and if the second/further multi-versioned declarations or definitions add attributes (other than the target attribute), it would be only allowed if the attribute wouldn't modify the attribute list (i.e. contain attribute that is already present).