do { } while(0) じゃないの?
代わりに for(;;){ break; } を使うとか。