#define LOOP_CANCELER(a) (void)0;
って再定義したんじゃだめだったん?