OpenWatcom 1.5

こないだ RC2 ができたばっかりなのにもう正式版ですってよ奥さん。んまーお盛んねえ。
ということでまた更新履歴を(無断)翻訳してみました。

個人的に気になるポイント抜き書き:

  • ISO/IEC TR 24731 "Extensions to the C Library, Part I: Bounds-checking interfaces" のサポートを C ライブラリに追加。C コンパイラは __STDC_LIB_EXT1__ を(200509L に)定義する。Safer C Library として知られる関数群である。関数のくわしい説明については C Library Reference をご覧ください。

こういうの見ると C の基本ライブラリも地道に進歩(つーか拡張)されてんだなあとか思ったり。ところで TR24731 のドラフトを読むとホストカンパニーが例の「Writing Solid Code」の会社(婉曲語法)だったりする。こういうことについていちばん(標準化団体に持ってこうと思うぐらい)シリアスに考えてるのは案外この会社なのかもなーとも思ったり(あとは IBM ぐらい?)。

  • C コンパイラが修正され、#pragma data_seg で作成したセグメントはもはや DGROUP の一部ではない。一般的に、pragma が使われるのは、出力モジュール中で物理的に切り離されたセグメント内にデータセグメントを置く必要があるときだけである。
  • printf/scanf 系関数の修飾子 'F' は、ISO C が定義する浮動小数点変換用の変換指定子 'F' と衝突する。far ポインタの指示に 修飾子 'W' を使うことにし、これで置き換えてある。DOS ビルドのランタイムライブラリはまだ修飾子 'F' を認識する(つまり ISO C が定義するところの変換指定子 'F' は使えない)が、もう修飾子 'F' はドキュメント化されないし、今後のリリースでは撤廃されるだろう。

以前との互換性で問題が出るかもしれないのはこのへんでしょうか(あと「ES が不変ののメモリモードでは __intrrupt 関数のプロローグで ES に DS の内容がロードされる」とかも場合によっては)

ちなみにまだダウンロードしてないヨ。ぶふー。