If we look at the debug macros in tools, e.g. #ifdef DBG_UTIL
#define DBG_ASSERT( sCon, aError ) \ if ( DbgIsAssert() ) \ { \ if ( !( sCon ) ) \ { \ DbgError( aError, \ __FILE__, __LINE__ ); \ } \ } #else #define DBG_ASSERT( sCon, aError ) #endif It's clear that the original intent was that they were to be used without any trailing ";" e.g. DBG_ASSERT (something) not DBG_ASSERT (something); but the OSL set of assert *is* intended to be followed with a trailing ; e.g. #define OSL_ASSERT(c) _OSL_ASSERT(c, OSL_THIS_FILE, __LINE__) #if OSL_DEBUG_LEVEL > 0 #define _OSL_ASSERT(c, f, l) \ do \ { \ if (!(c) && _OSL_GLOBAL osl_assertFailedLine(f, l, 0)) \ _OSL_GLOBAL osl_breakDebug(); \ } while (0) #else #define _OSL_ASSERT(c, f, l) ((void)0) #endif Needless to say there's a mix of usages in OOo of the DBG_ASSERT and friends, with a trailing ";" the most commonplace, giving us loads of bare ";" about the place which gives the "empty body in an else statement" etc. warnings. Do we want to fix this, or ignore it entirely :-). If it gets fixed, which do we want, change the DBG_ set of macros to follow what people are generally doing with them, i.e. make them expect a trailing ";", or fix the usages to remove the ";". C. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]