eof() bug?

OSX で某コンパイラでコンパイルしたコード、 std::cin.eof() で判定しながらストリームから読み続けるだけのコードなのに、8257行目で勝手に eof と判断してループを抜ける。
・・・いやいや、200万行くらいあるファイルなんですが

8257 = 128*64 + 65 で、よく判らないけどビミョー。 printf debug しかけると、カウンタが1行多く回ってる気がする。まさか1回読んでみて、実はそれがeofだった後でしか true にならないのか?
一旦 strstream にでもしろってのか・・・

ちなみに、 g++ だとちゃんと最後までいく。その後が遅いけど・・・・・
いったい何の bug なのやら


22:26:00 - 18.11.08 - kuroyagi - その他雑記 - 2677x