[PATCH] Make wine build with the Intel CC

Alexandre Julliard julliard at winehq.org
Mon Apr 23 15:02:51 CDT 2007


Eric Pouech <eric.pouech at wanadoo.fr> writes:

> it's fixed for C functions, but not when the function is declared in
> assembly
> extern inline int foo(int a);
> extern inline int foo(int a) {return a + 1;}
> int foo(int a) {return a+1;}
> extern inline int ffo(int a);
> extern inline int ffo(int a) {return a + 1;}
> int ffo(int a) {return a+1;}
> __asm__( ".text\n\t"
>         ".align 4\n\t"
>         ".globl ffo\n\t"
>         ".type ffo, at function\n"
>         "ffo:\n\tret\n"
>         "\n\t.previous" );
>
> [eric at localhost wine-git]$ /opt2/intel/cc/9.1.047/bin/icc -c  ~/icc2.c
> /home/eric/icc2.c(3): warning #290: function "foo" has already been defined
>  int foo(int a) {return a+1;}
>      ^
>
> /home/eric/icc2.c(6): warning #290: function "ffo" has already been defined
>  int ffo(int a) {return a+1;}
>      ^
>
> IPO: WARNING: File scope asm disables -ipo
> /home/eric/tmp/icc5IgzlBas_.s: Assembler messages:
> /home/eric/tmp/icc5IgzlBas_.s:40: Error: symbol `ffo' is already defined
>
> (and embedding the asm code into a dummy function doesn't help either)

But here you really have two non-inline definitions, one in C and one
in assembly. What happens if you remove the C version?

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list