英語版
このページの英語版を見る

変更ログ 2.053

前バージョン: - 次のバージョン:

Download D 2.053
2011年5月12日リリース

新機能/変更点

  • Linuxに64ビットツールを追加
  • FreeBSDのサポートを追加
  • linux/binをlinux/bin32にリネーム、linux/bin64を追加
  • osx/lib32の名前をosx/libに戻した。
  • いくつかのgcベンチマークアプリを追加
  • std.intrinsicをcore.intrinsicに移動
  • Posix 用 TDPL で説明されている例外チェーニングを実装。
  • QtD サポートのために__traitsparent を追加した。
  • デバッグ条件関数の内部で "pure code"でないコードを許可するようにした。
  • 内部アセンブラに cmpxchg16b、64 ビット bswap および movq 命令を追加した。
  • libcurl のバインディングを追加: etc.c.curl
  • std.net.isemailを追加
  • std.parallelismの追加
  • 位置パラメーター間隔のサポートを追加(例:%1:3$s s'フォーマット指定子を使用して最初の3つのパラメータを表示する
  • std.algorithmにfindSplit、findSplitBefore、findSplitAfterを追加; walkLengthを改良した。
  • std.algorithmのオンラインドキュメントを改良
  • std.rangeにroundRobin、takeOne、takeNoneを追加。 ストライド
  • std.traitにunsignedを追加
  • std.iteratorを削除。std.range.ElementTypeまたはstd.range.ElementEncodingTypeを使用する。 のいずれかを使用する。
  • Bugzilla 2656: 8進数リテラルを削除
  • Bugzilla 4097: エラー:静的if条件内でしか型エイリアスを宣言できない。
  • Bugzilla 4360: core.bitopのintrinsicsがintrinsicsとして動作するようにした。
  • Bugzilla 4833: dmd -odがマップファイルのoptlinkのコマンドラインに入らない。

Druntimeバグ修正

  • Bugzilla 5612: core.cpuidが64で実装されていない。
  • Bugzilla 1001: プログラム終了時にスタックトレースを表示するようにした。
  • Bugzilla 5847: core.threadによって開始されるスレッドはメインスレッドと同じ浮動小数点数状態を持つべきである。

ライブラリのバグ修正

  • Bugzilla 4644: assertExceptionThrownで特定の例外がスローされたことを保証するようにした。
  • Bugzilla 4944: tzsetがあるのにtznameがない。
  • Bugzilla 5451: RedBlackTreeに関する3つのアイデア
  • Bugzilla 5474: unaryFun byRefはカスタム・パラメータ名では使えない。
  • Bugzilla 5485: FreeBSD では TLS セクションの扱いが正しくない
  • Bugzilla 5616: std.datetime: クロスプラットフォームではない
  • Bugzilla 5654: BigInt が先頭のゼロを含む一桁数の文字列で ZERO を返す
  • Bugzilla 5661: std.algorithm.move が手の込んだ構造体では動作しない
  • Bugzilla 5731: std.datetime.SysTimeがUTCオフセットを逆に表示する
  • Bugzilla 5761: std.datetime.SysTimeはUTCオフセットを逆に表示するうるう年の12月30日のDate.this(int day)変換に失敗する
  • Bugzilla 5780: [パッチ] std.trait.hasIndirectionsで静的配列の扱いが正しくない。
  • Bugzilla 5781: std.datetime:Windowsの場合、夏時間ルールの変更により、一部の年で時刻が1時間ずれる
  • Bugzilla 5794: std.datetimeのStopWatch(とおそらくベンチマーク)の例には小さな修正が必要である。
  • Bugzilla 5928: Bigintモジュロ問題 -- 重大な間違ったコードのバグ

DMDのバグ修正

  • 注釈:テンポラリは破棄されるようになったが、例外がスローされたときには破棄されない。 例外がスローされたときに破壊されない。これは修正される予定である。
  • Bugzilla 2436: 予期しないOPTLINKの終了 EIP = 00425303 /co
  • Bugzilla 3372: optlinkが16384以上のシンボルを持つオブジェクトファイルを無言で不当に扱う。
  • Bugzilla 4275: export'属性がない場合の予期せぬoptlinkの終了
  • Bugzilla 4808: EIP=0042787Bでの予期せぬOPTLINK終了
  • Bugzilla 5670: Optlink 8.00.11クラッシュ
  • Bugzilla 937: C言語の可変長引数関数が壊れた。
  • Bugzilla 1330: 配列スライスがCTFEで実行時と同じように動作しない
  • Bugzilla 1336: __traitsの使い方に一貫性がない。
  • Bugzilla 1389: 文頭で "ミックスイン"式を使用できない。
  • Bugzilla 1880: 定数以外でインスタンス化されたテンプレートはすぐに失敗する。
  • Bugzilla 2257: テンプレート値パラメータがエイリアスパラメータのように振る舞う
  • Bugzilla 2414: 列挙型は動的に評価される。
  • Bugzilla 2526: 非定数イニシャライザから定数への変換がテンプレート内で受け入れられる
  • Bugzilla 2706: 無効なテンプレートのインスタンス化(と宣言?
  • Bugzilla 2733: テンプレートの値パラメータのセマンティクスが不明確である。
  • Bugzilla 2841: D2でchar[]がテンプレート値の引数として不正に受け入れられた。
  • Bugzilla 2850: 構造体の静的初期化子のコード生成に誤りがある。
  • Bugzilla 2990: TypeInfo.init()が無効な配列を返す
  • Bugzilla 3086: TypeInfo opEqualsが不正な結果を返す
  • Bugzilla 3214: LinuxでDWARF行番号のデバッグ情報が正しくない。
  • Bugzilla 3271: 構造体イニシャライザがサイレント失敗する。
  • Bugzilla 3516: テンポラリでデストラクタが呼ばれない
  • Bugzilla 3792: リグレッション(1.053) 構造体イニシャライザを使用した構造体内テンプレートに対する "非定数式"
  • Bugzilla 3779: ["123"][0][$-1]がコンパイル時に未解決の__dollarを引き起こす
  • Bugzilla 3801: CTFE: this.arr[i]は構造体に対してコンパイル時に評価できない。
  • Bugzilla 3835: CTFE: 構造体に対して this.arr[i] はコンパイル時に評価できない : ref foreach は CTFE では動作しない
  • Bugzilla 4033: エラー: 基本クラスが前方参照される
  • Bugzilla 4050: [CTFE] 配列構造体のメンバ・スライスが更新された。
  • Bugzilla 4051: [CTFE] 配列構造体メンバ項目更新
  • Bugzilla 4097: エラー: 型エイリアスは static if 条件式内でしか宣言できない。
  • Bugzilla 4140: エラー:"hello"[1u..__dollar]という定数でない式がある。
  • Bugzilla 4298: 定数配列が不要な配列リテラルに変換された
  • Bugzilla 4322: "void"に初期化された構造体/共用体のメンバで "void initializer has no value"が発生した。
  • Bugzilla 4329: を参照するエラーメッセージを表示しない。
  • Bugzilla 4360: core.bitopのintrinsicsがintrinsicsとして動作するようにした。
  • Bugzilla 4437: "return this;"でのコピー構築のバグを修正した。
  • Bugzilla 4499: "@disable postblit"の呼び出しが吐き出される。
  • Bugzilla 4543: リグレッション(1.054, 2.038) typedef が循環定義とセグメンテーションフォールトを引き起こす。
  • Bugzilla 4750: fail_compilation/fail225.d が dmd を segv させる原因になる
  • Bugzilla 4815: CodeView:グローバルシンボルとスタティックシンボルはマングルされていない名前を持つべきである
  • Bugzilla 4817: CodeView:列挙型メンバーはシンプルな名前にすべき
  • Bugzilla 4833: dmd -odはマップファイル用のoptlinkのコマンドラインにはない。
  • Bugzilla 4917: シンボルの衝突エラーメッセージがエイリアスの代わりにエイリアスのシンボルを参照する
  • Bugzilla 5147: [CTFE] 固定サイズの行列を返す
  • Bugzilla 5268: SamplesフォルダのWindows GUIサンプルが古い。
  • Bugzilla 5362: ブラケット内の$チェックが壊れている
  • Bugzilla 5482: align(0)でクラッシュする
  • Bugzilla 5485: TLS セクションが正しく処理されない
  • Bugzilla 5524: [CTFE] タイプセーフ可変長引数関数のトラブル
  • Bugzilla 5647: [64-bit] Valgrind が不正な命令について文句を言う
  • Bugzilla 5649: std.conv.parse が -O -m32 の浮動小数点で正しくない。
  • Bugzilla 5657: 一時的なオブジェクト破壊
  • Bugzilla 5664: 静的同期メンバ関数をコンパイルできない。
  • Bugzilla 5694: va_argがidoubleとifloatで動作しない。
  • Bugzilla 5671: CTFE文字列連結の問題
  • Bugzilla 5672: ICE(cod2.c): (long &1) == 1 の最適化が正しくない。
  • Bugzilla 5678: コンパイル時に新しい列挙構造体が再割り当てされた。
  • Bugzilla 5694: va_argがidoubleとifloatで動作しない
  • Bugzilla 5706: x86_64 インラインアセンブラ用に生成された opcode 接頭辞が正しくない。
  • Bugzilla 5708: inlineによる文字列定数の折りたたみが正しくない
  • Bugzilla 5717: 1.067 リグレッション: Unicode char の文字列への付加が壊れている。
  • Bugzilla 5722: リグレッション(2.052):コンパイル時に複数ユニットのコードポイントからコードユニットを追加すると、間違った結果になる。
  • Bugzilla 5735: 非スカラー型が暗黙的にブーリアンに変換される。
  • Bugzilla 5740: インラインアセンブリでこのポインタを使用できない。
  • Bugzilla 5741: インラインアセンブラにSYSCALLとSYSRETオペコードを追加する。
  • Bugzilla 5798: 弱く純粋な関数呼び出しがカンマ式の内部でスキップされる。
  • Bugzilla 5812: の定数畳み込み最適化機能を追加した。
  • Bugzilla 5840: CTFEで構造体の配列メンバに代入できない。
  • Bugzilla 5852: CTFE: string[] ~= const(string)のコードが間違っている。
  • Bugzilla 5858: CTFE: string[] ~= const(string)のコードが間違っている。
  • Bugzilla 5865: コンパイル時に __dollar を読み込むことができない
  • Bugzilla 5890: git masterのDMDによる "static assert"で第2引数のICEと間違ったスコープの問題
  • Bugzilla 5916: DMD: 不正なオペランドエラーに対する不正なメッセージ
  • Bugzilla 5938: ICE ztcsymbol.c 1043
  • Bugzilla 5940: std.algorithm.mapの配列を作成できない。
  • Bugzilla 5965: [2.053 beta] mapはanon-funcとネストされたfuncを持つ述語を拒絶する。
  • Bugzilla 5966: [2.053 beta][CTFE] 些細なfuncでスタックオーバーフローが発生する
  • Bugzilla 5972: CTFE: スライス配列の要素に代入できない
  • Bugzilla 5975: [2.053 beta][CTFE] ICE:ファイル 'constfold.c' の 1416 行目に 'global.errors' がある。
  • Bugzilla 5976: foreachでref+スコープ(失敗)+構造体メソッド+ -O -inlineで "変数がセット前に使用された"
  • Bugzilla 5982: [2.053 beta] std.iteratorがなくなった。
  • Bugzilla 5987: mydllのサンプルがコンパイルできない
  • タプルインデックスの境界外エラーメッセージを明確にした
  • インラインアセンブラに64バージョンのxchgとjmpを追加した。64ビットのLEAを修正
  • CTFE:ヌル配列へのアクセスに対するエラーメッセージを生成する
  • to!float("123e2")のオプティマイザのバグを修正
  • のスペルを修正cmpxchgb8
前バージョン: - 次のバージョン: