TITLE: Guarding complex macros PROBLEM: jamshid (Jamshid Afshar), 11 May 94 ASSERT, or any macro containing individual statements (like an if) or a block, should be "guarded". Otherwise we end up with the following confusion: #define ASSERT(cond) \ if (cond) \ AssertFailure( VersionId, __LINE__, MAK_STRING(cond) ); int blah( int x, int y ) { int z = 0; if (x>y) ASSERT(xy and x