新しいカーネル、DRM をサポートする X ウィンドウの新しいバージョン

アップグレードの日。私は新しいカーネル、DRM をサポートする X ウィンドウの新しいバージョンを手に入れ、glibc のアップグレードを回避しました。

2月9日
何人かの人々が、いくつかの組み込み関数、特に NINT() の問題を指摘しました。特定のジェネリックに対してさまざまな特定の機能をチェックしていたときに、エラー抑制がオンになっていませんでした。つまり、表示されるはずのないエラー メッセージが表示されていました。エラーメッセージは、チェックされている最後の特定のものに対してのみ表示されるはずです。これは、ジェネリックの名前でもあり、別のフラグの対象でもあります。現在、問題は修正されています。

Laurent Klinger は、DO WHILE ループの解析バグについて書き込みました。G95 は、’DO’ と ‘WHILE’ の間のオプションのラベルを受け入れませんでした。標準では、「WHILE」の前のコンマはオプションであると指定されているため、かなり奇妙に見えます。

DO, WILE (.TRUE.)
完全に合法です。彼はまた、SUM と MINLOC/MAXLOC の厳しすぎるチェック関数を扱ういくつかの問題を抱えた別のメールを受け取りました。MINLOC/MAXLOC の仕様を 1 分間見つめて、これらの関数がいかに混乱しているかを理解する必要があります。渡される引数の数に応じて、微妙に異なるいくつかの異なる形式があります。
Katherine は、AIX で alloca を正しく使用するために必要ないくつかのネストされた #if を持つ g95.h へのパッチと共に、alloca をチェックするように configure.in を更新しました。

Salvatore Filippone さんは、組み込みの KIND が 2 つの別個のモジュールで使用され、両方のモジュールが同じプログラム単位に含まれているというバグを報告しました。名前が 2 つの別々のモジュールに由来しているように見えたため、これは失敗しました。私の最初のアイデアは、シンボルが組み込みかどうかを示すビットを定義し、モジュール リーダーにそれらのビットをチェックさせることでしたが、より良いアイデアが提案されました。

属性ビットを増やす代わりに、関数が組み込みであると判断すると、そのモジュール名は「(intrinsic)」に設定されます。このモジュール名は実際のモジュールから生成することは不可能であり、固有の名前はユーザー定義の名前と区別されるため、問題が修正されます。名前/モジュールのペアが比較され、それらが等しいため、すべて問題ありません。

Steven Kargl さんにより、scalar_check() サブルーチンにバグが見つかりました。比較は、等値であるべきなのに、不等値になっていました。また、コードの解析と解決に成功したことも報告しています。

Steven Bosscher は、私が g95 をパスさせようとしてきた固有のテスト スイートを持っています。SET_EXPONENT()、SPACING()、RRSPACING()、NOT()、MOD()、MODULO()、FRACTION()、ABS() など、さまざまな組み込み関数に対するその他の修正が含まれています。DCMPLX の簡略化が修正され、多くのコードが CMPLX の簡略化にマージされました。いくつかのチェック関数は、一般的なチェック関数にまとめられました。テスト スイートは問題なく解決します。

intrinic の問題に関するメールが著しく少なかったので、うまくいけば他のことに移ることができます。バージョンを 0.17 に上げました。

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