Add protective 'do { ... } while (0)' wrappers to multistatement macros