Eric Pouech <[EMAIL PROTECTED]> 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,@function\n"
>         "ffo:\n\tret\n"
>         "\n\t.previous" );
>
> [EMAIL PROTECTED] 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
[EMAIL PROTECTED]


Reply via email to