On Mon, 11 May 2009, Alexandre Julliard wrote:
I don't have gcc 4.5 to test this, but you could try using a function instead, something like this:
diff --git a/include/winnt.h b/include/winnt.h index abcc502..aaa4112 100644 --- a/include/winnt.h +++ b/include/winnt.h @@ -292,7 +292,7 @@ extern "C" { #if defined(_MSC_VER) # define C_ASSERT(e) typedef char __C_ASSERT__[(e)?1:-1] #elif defined(__GNUC__) -# define C_ASSERT(e) extern char __C_ASSERT__[(e)?1:-1] __attribute__((unused)) +# define C_ASSERT(e) extern void __C_ASSERT__(int [(e)?1:-1]) #else # define C_ASSERT(e) #endif
You are a clever man, Sir! :-)
It took me a bit, since incidently the GCC 4.5 development tree was broken wrt. Wine on Monday (I reported this bug upstream), but a build with your patch went through both with GCC 4.2.1 and GCC 4.5.0 (experimental) tonight.
I assume you will commit this now?
Thanks, Gerald