ここ数日、文字変数のサポートの改良に取り組んでいました。Édouard はしばらく前に、これらの処理方法にかなり悪い欠陥があることを明らかにした問題を報告したため、新しいメカニズムに移行する必要がありました。ライブラリとコンパイラに大規模な変更を加えた後、g95 はほぼ再びコンパイルできるようになりました。
6月28日
私は先週、Fortran に関係のない災害に取り組んでいました。最悪の事態は終わりましたが、g95 の作業は今後数日間散発的に行われます。
6月22日
Edouard Canot と Shawn Ewald の両方が先週同じ問題を報告しました。これは、別のモジュール プロシージャからモジュール プロシージャを呼び出す際の問題です。現在これを行うコードは扱いにくく、過度に複雑です。別の梱包ワイヤで問題を解決できる可能性がありますが、現在パーサーによって処理されているものを解決フェーズに移動し、シンボルが複数の名前空間に存在することを許可しないことで、これを簡素化することにしました。これには実装に時間がかかりますが、長期的には物事がより簡単になります。
6月19日
Frode Meling と Shawn Ewald の両方が、スカラライザによって引き起こされたモジュールの問題を報告しました。今修正しました。
6月18日
Helve Avlesen さんは、実際には必要とされていない変数宣言に必須の二重コロンに関する問題を報告しました。彼らは今です。
SELECTED_REAL_KIND() 組み込み関数を実装しました。
長い間、より基本的なことを機能させるために、スカラー化は破られてきました。しかし、最近は報道されることが多くなりました。私はいくつかの修正を進めており、スカラーによる配列割り当てのスカラー化は機能しています。ここ数週間、多くの人がこれを報告しており、あまりにも多すぎて一覧にできません。完全ではありませんが、開始です。これで、次のことができます。
andy@fulcrum:~/g95/g95 % 猫 tst.f90 プログラムテスト 整数 :: a(5,5) a = 2 (1,2:5:2) = 12345 印刷 *、a 終わり andy@fulcrum:~/g95/g95 % g95 -o tst tst.f90 andy@fulcrum:~/g95/g95% ./tst 2 2 2 2 2 12345 2 2 2 2 2 2 2 2 12345 2 2 2 2 2 2 2 2 2 andy@fulcrum:~/g95/g95%
6月15日
やり直し完了。Michael Richmond の問題はなくなり、Shawn の問題もなくなりました。新しいシステムは、すべてのバッキングされた変数を一度に宣言することになります。これはより単純であり、関連する変数が正しい方法で使用されていないという理由だけで沈黙していたいくつかの前兆のバグを明らかにしました。
Édouard Canot さんは、いくつかの問題を報告しました。種類 4 と 8 の実数の minexponent が正しくなく、これらを修正することで TINY() の値が修正されました。HUGE() もめちゃくちゃになっていて、ここでの問題は同じだと思います。それは私がインターネットから数字をコピーすることで得られるものです. 彼はまた、SELECTED_INT_KIND() でのクラッシュも指摘しました。実装されていませんでしたが、現在は実装されています。彼はまた、派生型を扱うフロントエンドの問題を報告しましたが、これも現在修正されています。
Martien Hulsen さんが、2 番目の OPEN 文で再帰的なライブラリ呼び出しが発生する問題を報告しました。これも修正。
Helge Avlesen さんが、リスト読み込み中のファイル終了処理の問題を報告しましたが、これは修正されました。