>>554
volatileは確かにコンパイラのバグが出やすい。
ただpをvolatile int *p;と定義すればたぶん++,--は不要になると思うが……

ところで本題のgotoについてだが、>>543はdo〜while()では駄目なのだろうか。