Alexandre Julliard a écrit :
Jonathan Schleifer js@h3c.de writes:
Eric Pouech eric.pouech@wanadoo.fr wrote:
it seems now the major hurdle is that icc doesn't support the inline conventions of GCC (and is likely C99 compliant in that
ICC supports gcc inline asm. But it doesn't support defining a symbol twice.
What version are you using? According to the man page this is supposed to be fixed in icc 9.1.
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" );
[eric@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)
A+