This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/55742] [4.8 regression] __attribute__ in class function declaration cause "prototype does not match" errors.
- From: "xinliangli at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 17 Jan 2013 22:45:22 +0000
- Subject: [Bug c++/55742] [4.8 regression] __attribute__ in class function declaration cause "prototype does not match" errors.
- Auto-submitted: auto-generated
- References: <bug-55742-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742
--- Comment #30 from davidxl <xinliangli at gmail dot com> 2013-01-17 22:45:22 UTC ---
(In reply to comment #26)
> On Wed, Jan 16, 2013 at 5:02 PM, jakub at gcc dot gnu.org
> <gcc-bugzilla@gcc.gnu.org> wrote:
> >
> > http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55742
> >
> > --- Comment #25 from Jakub Jelinek <jakub at gcc dot gnu.org> 2013-01-16 16:02:35 UTC ---
> > The actual merging of target attribute isn't that important, what would be more
> > important is that other attributes are merged together in that case and the
> > decls treated as the same thing.
> >
> > Anyway, with target("any") attribute, what would happen for
> > void foo () __attribute__((target ("avx")));
> > void foo () __attribute__((target ("any")));
>
> IMHO the re-declaration with a different target attribute should be an error.
This can be a clean way to handle declarations. The definition should have
either 'default' attribute or a matching target attribute.
> A proper "forward" declaration for a function with MV applied shouldn't have
> any target attribute.
What does this sentence mean?
David