[PATCH] Make wine build with the Intel CC

Eric Pouech eric.pouech at wanadoo.fr
Mon Apr 23 14:44:04 CDT 2007

Alexandre Julliard a écrit :
> Jonathan Schleifer <js at h3c.de> writes:
>> Eric Pouech <eric.pouech at 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 
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"
         "\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)


Eric Pouech
"The problem with designing something completely foolproof is to underestimate the ingenuity of a complete idiot." (Douglas Adams)

More information about the wine-devel mailing list