Follow-up Comment #7, bug #11022 (project grep): The "do { ... } while (0)" makes it the syntactical equivalent of a function call. Consider
#define F(x) if (x) h(x) #define G(x) do { if (x) h(x); } while (0) { if (y) F(x); else z++; if (y) G(x); else z++; } and match the "else" statements to their corresponding "if". (Code indentation will probably be lost on the Savannah web page.) The construct will otherwise usually be removed by the optimizer. _______________________________________________________ Reply to this item at: <http://savannah.gnu.org/bugs/?func=detailitem&item_id=11022> _______________________________________________ Message sent via/by Savannah http://savannah.gnu.org/