‘save’ 属性 (固定サイズ) を持つ自動配列 (可変サイズ) の検出に失敗

Alvin Brattli は、5 つの異なるバグについて説明するメールを送信しました。そのうちの 4 つが現在修正されています。1 つ目は、’save’ 属性 (固定サイズ) を持つ自動配列 (可変サイズ) の検出に失敗し、これが問題を引き起こしました。2 つ目は、コードが食べられるステートメント関数の問題でした。これを報告する Michael Richmond からのメールは 30 分後に表示されましたが、Alvin はノルウェーに住んでいるため、明らかに時間的に有利です。

3 番目のバグは、遅延形状配列としての実引数でした。渡される記述子は変換せずに使用できるため、これは実際には最も簡単なケースです。今修正しました。バグ 4 は、ポインター属性を取得するように配列へのポインターを修正していましたが、これは発生していませんでした。

バグ 5 は構造を扱っていましたが、少し単純化すると、構造がまったく機能しないことが明らかになりました。他のすべての基本的なタイプが機能するように見えるので、今後数日間で構造に焦点を当てて試してみるつもりです.

Joost VandeVondele は別のバグのリストを送ってくれましたが、幸いなことに、それらのほとんどは、私が動作していると思っていたものとは対照的に、動作しないことがわかっているものです。

また、ACHAR() に関して少し前に発生した問題も修正しました。解決関数を CHAR() と共有しようとしましたが、残念ながら引数リストが異なります。

 


3月30日

3 日前の Michael のバグリストのトリミングにさらに取り組みました。文字配列の初期化は機能しますが、共通ブロックでは機能しません。なぜそこで機能しないのか完全にはわかりませんが、これについては再考する必要があるかもしれません. 彼が報告した、ダミー関数を渡す際の問題と、実際にそれらを呼び出す際の問題を修正しました。

他のニュースとして、LBOUND、UBOUND、および SIZE 組み込み関数は、完全な配列を返す場合を除き、すべてのケースで機能するようになりました。

 


3月29日

Helge Avlesen さんは、モジュールでの配列の使用が壊れていると報告しましたが、これは現在修正されています。これがキャラクターにも同様の問題を引き起こすことに気づき、30 分後、Michael Richmond のバグ レポートが届きました。ただし、彼にはいくつかの固有の問題がありました。実際の引数として渡された文字配列は、実際には文字ではなく配列であるため、混乱していました。これは修正されました。

より大きな問題は、文字変数の初期化でした。以前は、これらはプロシージャの開始時に生成されたコードによって初期化されていました。しかし、静的な初期化 (DATA ステートメントなど) の場合、これが発生する可能性はないため、配列などのコンストラクターから初期値を取得する必要があります。

ここで対処しなければならないもう 1 つのことは、文字配列の初期化です。

 

タイトルとURLをコピーしました