Re: Wine and C99 inline incompatibility

2007-07-03 Thread Alexandre Julliard
Vitaliy Margolen <[EMAIL PROTECTED]> writes: > As I recall the problem was with the way InterlockedExchangePointer() > and InterlockedCompareExchangePointer() are defined. I'm guessing > compiler/linker can't optimize this away, if they are not used. And > lots of programs in tools/ do include the

Re: Wine and C99 inline incompatibility

2007-07-02 Thread Vitaliy Margolen
Alexandre Julliard wrote: Zephiris <[EMAIL PROTECTED]> writes: Specifically, this appears to conflict with, say, when InterlockedExchange is actually defined later in the source file. Even if 'extern inline' is replaced by 'static inline', that's a problem. For that particular case, for instanc

Re: Wine and C99 inline incompatibility

2007-07-02 Thread Alexandre Julliard
Zephiris <[EMAIL PROTECTED]> writes: > Specifically, this appears to conflict with, say, when > InterlockedExchange is actually defined later in the source file. Even > if 'extern inline' is replaced by 'static inline', that's a > problem. For that particular case, for instance, I tried to work >

Wine and C99 inline incompatibility

2007-07-02 Thread Zephiris
I haven't seen this addressed and couldn't get an answer out of anyone on IRC. GCC defines 'extern inline' very differently from other compilers and C99. inline isn't actually guaranteed to inline (obviously), but 'extern inline' on GCC never defines a global function. References to the functio