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).

Reply via email to