This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/55742] [4.8 regression] __attribute__ in class function declaration cause "prototype does not match" errors.


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742

--- Comment #15 from Sriraman Tallam <tmsriram at google dot com> 2013-01-14 18:07:28 UTC ---
(In reply to comment #14)
> (In reply to comment #13)
> > (In reply to comment #12)
> > > (In reply to comment #10)
> > > > Either use a different name of the attribute (replace target with mv_target or
> > > > whatever), or require a new attribute (mv?) to be present for multi-versioning
> > > > (mv attribute on any of the decls would enable it, if mv attribute isn't
> > > > present on either of the two decls being merged, then the target attribute is
> > > > merged as before 4.8).
> > > 
> > > 
> > > I like this proposal:
> > 
> > I too like just using a different attribute name. I will prepare a patch asap
> > for this.
> > 
> > Thanks
> > Sri.
> > 
> > > 
> > > >require a new attribute (mv?) to be present for multi-versioning
> > > > (mv attribute on any of the decls would enable it, if mv attribute isn't
> > > > present on either of the two decls being merged, then the target attribute is
> > > > merged as before 4.8)
> > > 
> > > 
> > > David
> 
> 
> I mean Jacub's second alternative -- adding additional attribute that alters
> the meaning of 'target' attribute -- when it is present, no merging will be
> done.


Ok, so the two options are :

1) int foo __attribute__ ((mv_target ("sse4.2")));
2) int foo __attribute__ ((target("sse4.2")), mv);

I dont have  a strong preference. 

> 
> 
> David


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]