http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742
Jason Merrill <jason at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |NEW
Last reconfirmed| |2013-01-14
Summary|__attribute__ in class |[4.8 regression]
|function declaration cause |__attribute__ in class
|"prototype does not match" |function declaration cause
|errors. |"prototype does not match"
| |errors.
Ever Confirmed|0 |1
--- Comment #8 from Jason Merrill <jason at gcc dot gnu.org> 2013-01-14
14:33:21 UTC ---
As I was saying on IRC, this is a change of behavior of the target attribute
relative to 4.7, and therefore needs to be fixed for 4.8. The 4.7 behavior for
this testcase must be restored, and MV needs to come up with a way of
distinguishing between a redeclaration that omits optional attributes (as in
this testcase) and an overload between two different versions.
Perhaps use something like __attribute ((target ("any")) for the default
version so that it's clear that a declaration with no target attribute is a
redeclaration (which is ambiguous if there are already multiple versions).