···640640 do { \641641 if (blah(x) < 0) \642642 return -EBUGGERED; \643643- } while(0)643643+ } while (0)644644645645is a _very_ bad idea. It looks like a function call but exits the "calling"646646function; don't break the internal parsers of those who will read the code.