http://bugs.winehq.org/show_bug.cgi?id=20306
--- Comment #9 from Alexandre Julliard julliard@winehq.org 2009-10-26 07:54:22 --- (In reply to comment #8)
When using the even more experimental clang C frontend (from llvm 2.6), errors are related to extern inline
- when some asm() create a symbols already defined as a extern inline, the
assembler found two definitions;
- when object files are linked together, ld report those extern inline symbols
as multiple defined.
IMHO, wine should not rely on "extern inline" asis since it seems to be GCC specific behavor which is reported incompatible with C99. See http://gcc.gnu.org/ml/gcc/2006-11/msg00006.html http://www.greenend.org.uk/rjk/2003/03/inline.html
All the extern inline asm functions should be inside a #ifdef __GNUC__, if some aren't they should be fixed. But if llvm defines __GNUC__ then it better be compatible.