> これをリリースモードでビルドするとa > 0の場合にのみb = 1が動作する環境に
> 遭遇したことがある。

今時のコンパイラならリリースビルドだと普通 if() 分もろとも省略すると思うが。
どんだけしょぼいコンパイラなんだ?

# つーか、コンパイラのバグ回避はまた別の話だろ。