Dan Nicolaescu によって最初に報告された問題を修正しました(a.or.b.and.c)… コードと標準を交互に見つめるのに約 10 分かかり、修正には “and” を “or” に置き換える必要がありました。
最後の問題は、次のようなコード フラグメントに関係していました。
DO 20 J=LL,L4
LB=J
20 IF (X(LB).LT.0) GO TO 310
標準からわかる限り、GOTO ステートメントは、非ブロック DO ループを終了するステートメントの一部にすることはできません。誰かが別の方法を知っているなら、私に知らせてください。
また、intrinsic.c への追加に関する Katherine Holcomb の進捗状況を確認する機会もありました。彼女はいくつかの組み込み関数の範囲チェックを行っており、CMPLX のような型変換組み込み関数にも取り組んでいます。今のところうまくいっているようで、彼女からのいくつかの質問に私が答えました (おそらくメーリング リストに cc するべきでした)。
8月29日
Jos Bergervoet は、Solaris (64 ビット!) と HP-UX で g95 のコンパイルが成功したことを報告し、どのバージョンの gmp が必要か、または必要になるかについて言及するのを忘れていたことを指摘しました。
Marc Dejardin は先日、私の INCLUDE の修正の問題を指摘しました – 私は大文字と小文字の保存をキーワード自体に含めました。内部的には、キーワードは小文字で格納されるため、大文字の INCLUDE 行が見つかりませんでした….
Dan Nicolaescu がさらに 2 つのバグを送信し、そのうちの 1 つを修正しました。もう 1 つの問題は、次の形式の論理式の解析に関係しています。
if (a.or.b.and.c) ストップ
今夜はこれを修正する時間がありませんでした。現在、g95 関連のメールが 3 日ほど遅れています。Katherine Holcomb は、私が次に見ようと思う intrinsic.c の更新を送信しました。
8月28日
Alaeddin Aydiner さんは、いくつかの問題点を指摘してくれました – g95 は、I/O リストとの一致が一致しなかった場合に正しくバックアップしませんでした。また、配列の一致 (そして結果として、印刷) に問題がありました。
Martien Hulsen さんは、INCLUDE 文に問題を発見しました。大文字と小文字が折り畳まれていたため、ファイル名が簡単に別のファイル名になりかねません。この問題は、MODULE 名と USE ステートメントにも見られます。これらの「シンボル」には特別な処理が必要です。彼はまた、イテレータのマッチャが開始式の後にスペースを受け入れないことも指摘しました。この問題はしばらく前からありました。イテレータのマッチングをより堅牢にしました。
Dan Nicolaescu は別の微妙な問題を報告しました:
REAL*8 Z(M)
整数 M
整数属性の重複適用についてクレームがありました。問題は、g95 が、最初に見たときに型指定されていない変数にデフォルトの型を与えることができると想定していたことです。これは通常は機能しますが、上記のプログラムは反例を提供します。Dan は実際に spec95 を g95 で解析しています。彼は、十数個の明確なエラーが残っていると報告しています。