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



--- Comment #31 from richard.guenther at gmail dot com <richard.guenther at 
gmail dot com> 2013-01-18 09:49:11 UTC ---

On Thu, Jan 17, 2013 at 11:45 PM, xinliangli at gmail dot com

<gcc-bugzi...@gcc.gnu.org> wrote:

>

> 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-bugzi...@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?



I think it would require to list all MV variants in the single declaration



void foo () __attribute__ ((target ("avx"), target ("any")));



but I suppose this goes against the idea of treating MV variants as regular

overloads which you can all declare.



Of course the issue whether / how to "merge" target attributes then returns.

I didn't pay too close attention, but if you settled on using a different

attribute name and then never perform merging of that attribute that would

indeed work.



Richard.



>

> David

>

> --

> Configure bugmail: http://gcc.gnu.org/bugzilla/userprefs.cgi?tab=email

> ------- You are receiving this mail because: -------

> You are on the CC list for the bug.

Reply via email to