public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* Compile time errors on using target attribute for Function Multi Versioning
@ 2022-04-22  7:09 Raut, S Biplab
  2022-04-22  7:36 ` Xi Ruoyao
  0 siblings, 1 reply; 4+ messages in thread
From: Raut, S Biplab @ 2022-04-22  7:09 UTC (permalink / raw)
  To: gcc-help

Hi All,
          I want to support Function Multi Versioning (FMV) in my code by using GCC's "target" attribute.
Few functions in my program are hand-written intrinsic codes, so I would prefer to use "target" over "target_clones" attribute.
But, I am getting function redefinition errors for the multiple versions of the function when I try to compile the test program.

Please find the details below:
Source code is based on:- https://gcc.gnu.org/wiki/FunctionMultiVersioning#:~:text=1%20__attribute__%20((target,return%200%3B%0A%20%2033%20%7D
GCC version used:- 11.2.0
OS used:- Ubuntu 21.10
Errors encountered:- (test_target.c is the name of source file containing the FMV example code)
$ gcc test_target.c
test_target.c:12:5: error: redefinition of 'foo'
   12 | int foo ()
      |     ^~~
test_target.c:5:5: note: previous definition of 'foo' with type 'int()'
    5 | int foo ()
      |     ^~~
test_target.c:19:5: error: redefinition of 'foo'
   19 | int foo ()
      |     ^~~
test_target.c:5:5: note: previous definition of 'foo' with type 'int()'
    5 | int foo ()
      |     ^~~
test_target.c:26:5: error: redefinition of 'foo'
   26 | int foo ()
      |     ^~~
test_target.c:5:5: note: previous definition of 'foo' with type 'int()'
    5 | int foo ()
      |     ^~~

Am I missing something here in terms of compilation flags or otherwise.
Can you please help me to get this example working. Based on this example, I will need to change my actual program.

If this group is not meant for such questions/help, please guide me to the right mailing group.

With Regards,
S. Biplab Raut

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2022-04-22  9:27 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-22  7:09 Compile time errors on using target attribute for Function Multi Versioning Raut, S Biplab
2022-04-22  7:36 ` Xi Ruoyao
2022-04-22  8:17   ` Raut, S Biplab
2022-04-22  9:27     ` Xi Ruoyao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).