Don't try to fool compilers
There's a macro in ACE to eliminate a compiler warning:
379 // Some compilers complain about "statement with no effect" with (a).
380 // This eliminates the warnings, and no code is generated for the null
381 // conditional statement. @note that may only be true if -O is enabled,
382 // such as with GreenHills (ghs) 1.8.8.
383 # define ACE_UNUSED_ARG(a) do {/* null */} while (&a == 0)
But when I use this macro, gcc 4.3 will complain:
warning: the address of ‘a’ will never be NULL