有限要素にレガシーのFortran77コードを使用するFortranルーチンを作成しました。ただし、特定のメッシュでは、-O最適化フラグがオンになっている場合、Fortranがこれを禁止していると思われる場合でも、重要なdo-loopイテレーターが何らかの形で変更されています。-fcheck = doランタイムチェックを有効にしてgfortran4.5を使用してこのコードをコンパイルしました。これにより、上記の内容が検証されます。実行時エラーは、最適化がオンになっていて、do-iteratorを直接指している場合にのみ発生します。
最適化されたコードでgdbを使用すると(不安定に見えますが、行が前後にバウンスする)、do-iteratorが何らかの形でゼロに戻されることを明確に示しているようです。これにより、本質的に無限ループが発生します。
プロジェクト全体が同じフラグで一貫してコンパイルできることを確認したいので、このバグの原因となっているものを探して修正する方法に関する提案をいただければ幸いです。