違うか

#define macro() if(1){ /* 処理 */; }else (void)0

か