祖父母の名前空間からの型定義の伝播に関するバグを修正しました。含まれているプログラム ユニットは、その親の名前空間から派生した型の定義を使用できますが、祖父母の名前空間は使用できませんでした。モジュールにモジュール プロシージャが含まれている場合、3 つのレベルの名前空間が発生し、モジュール プロシージャには内部サブプログラムが含まれます。
7月2日
Arnaud は、別の静的関数を修正し、私の C++ コメントを取り除く別のパッチを送信しました。
昨日の修正後、テスト スイートは 97.3% まで上昇しました。これは新記録です。
7月1日
ミラースイートから始めました。いくつかの明らかな問題を修正し、g95 に関するいくつかの問題を発見しました。一部は fortran 90/95 の癖に関係していました。派生型の値をパラメーターに代入する場合、型はその時点で必ずしも定義されているとは限らず、ソース内の後で定義することができます。定義がない場合は、含まれているプログラム単位の派生型で型を定義できます。これは、解決フェーズまでタイプチェックを延期する必要があることを意味します。
6月30日
Arnaud Desitter のパッチを追加して、’const char’ 属性を有効にできる場所に追加しました。
ディレクトリ構造をスキャンし、どのファイルがどのモジュールを生成するかを把握し、未作成のモジュールを防ぎ、各ファイルの正しい -I オプションを生成する順序でテスト コンパイルを実行するスクリプトを完成させました。これは、別のファイルがモジュールの生成に失敗したために失敗したファイルではなく、実際の問題があるファイルを見つけるのに役立ちます。
6月28日
Arnaud Desitter さんは、他のいくつかのものとともに、すでに静的であるべきいくつかの関数を静的にするパッチを送信しました。
Laurent Klinger が Byran Carpenter のテスト プログラムの更新版を送ってくれました。これを使用して、空のみのリストを持つ use ステートメントや、非モジュール プログラム単位でのモジュール プロシージャ ステートメントの許可など、いくつかの小さな問題を修正しました。この時点で残っている 2 つのエラーは、空のインターフェイス ブロック (これは違法だと思ったので、チェックを省略します) と =>NULL() によるポインターの初期化です。
テストスイートを見ると、残りの膨大な数のエラーは、一部のコンパイラが受け入れた、単なる違法なコードによるものです。テスト スイートのソースを CVS にチェックインするまで、これらの問題について私にできることはあまりありません。これはまた、CVS はソースをあちこちに移動したり、改訂履歴を保持したりするのが得意ではないため、現在のリポジトリを破棄する必要があることも意味します。一方で、ブランチについて心配するのではなく、一貫性のある現在のバージョンを維持するために、ほとんどの場合 CVS を使用しています。