プリプロセッサで一度マクロ展開してからコンパイラに渡してるから2パスと言えなくもない