ページ内ジャンプ:

アレゲなニュースと雑談サイト

Oliverによる 2005年04月22日 18時46分の掲載
スクリーンショット募集中部門より。

GNU Compiler Collectionバージョン4.0.0がリリースされた。Changelogによると多数の改良が加えており、AdaからJavaまでの対応する全ての言語に改善が見られるだけでなく、共通の最適化フレームワークとしてSSAに対応(Wikipedia解説LWN解説)し、それを使った自動ベクタ化などの最適化が実装されている。また、C++に関してはコンパイルが高速化され、シェアードライブラリのシンボルテーブルに関する最適化に伴い、gcc 4.0でコンパイルされたKDEやOOoなどの大きなC++プログラムの起動時間がかなりスピードアップするという。

関連ストーリー

GCC 4.2.0 リリース 45 コメント
GCC 4.4リリース 23 コメント
この議論は賞味期限が過ぎたので、保存されている。 新たにコメントを書くことはできない。
表示オプション しきい値:
  • Anonymous Coward : 2005年04月22日 19時23分 (#726558)
    gfortranになってようやくFortran95がサポートされるようになったわけですね。
    数値計算であるならばやはりFortranは使いやすいと思います。Fortran95はMATLABを参考にされているというウワサですし。
    なにはともあれフリーで使えるFortran95の環境がひとつ増えたことを歓迎したいです。
  • nox_dot (11614) : 2005年04月23日 1時28分 (#726690) 日記
    Fedora Core 3用に、いろんなRPMをがむしゃらにPentium4に最適化コンパイルしたパッケージを
    http://sea-mew.jp/nox/modules/xfsection/article_1.html
    で展示しています。もっぱら個人用ですが、一緒に遊んでくれる人がいれば、
    http://sea-mew.jp/nox/modules/rpms/viewrpms.php?dirname=pentium4
    からRPMを取れます。

    コンパイラはgcc3.4とgcc4.0をつかっていますので、Pentium4でgcc4.0に興味のある方はどうぞ。
    ただ、openofficeなどはコンパイルできていないので、起動の早さは試せていません。SRPMを、ただリコンパイルしているだけなので、build環境が悪いのかもしれません。リコンパイルできた人は情報を頂けるとうれしいです。
  • ken-1 (4041) : 2005年04月22日 19時12分 (#726555)
    いまでもVRAMをワークエリアに使ったりするのかと思った。
  • cast-as-lvalues (スコア:2, 参考になる)

    iwa (2980) : 2005年04月22日 19時53分 (#726566)
    gcc 4.0来春登場 - 互換性・速度に課題も [mycom.co.jp]」の、「cast-as-lvalues」問題って解決したの?
    ChangeLogを見ると、C, Objective-Cのところにだけ書いてあるので、C++については復活?
    • Re:cast-as-lvalues (スコア:4, 参考になる)

      Anonymous Coward : 2005年04月22日 22時11分 (#726621)
      cast-as-lvalueはgcc 3.4の時点でC/Objective-Cに関して非推奨扱い、C++に関して完全廃止。gcc 4.0でC/Objective-Cに関しても完全廃止になった。

      おまけ: 重要な更新部分のいい加減な意訳

      Caveats
      • デバッグ情報の付加と最適化の両方を有効にしてコンパイルすると位置リストを生成するようになった。GDB 6.0以前は位置リストを見付けるとクラッシュする。GDB 6.1以降なら大丈夫だ。-fno-var-trackingを使えば位置リストを生成しなくなる。

      • -fwritable-stringsは無くなった。書き込み可能な文字列が必要ならば配列を使え。

      • -freduce-all-givsと-fmove-all-movablesは無くなった。これらのオプションは新しい最適化フレームワークにはもう必要無い。

      • 以前-fnew-raで有効になったgraph-coloring register allocatorは廃止された。

      • -I-は非推奨になった。代わりに-iquoteを使うように。

      • MIPSの-membedded-picと-mrnamesは無くなった。

      • MIPSターゲットでGNUアセンブラが必須になった。特にIRIXでMIPSproアセンブラが使えなくなった。MIPSproリンカはまだ使える。

      • SPARCの-mflatは無くなった。

      • UTF-8ロケールにおける英語の診断メッセージはUnicodeの引用符を使うようにった。都合の悪い奴は環境変数のLC_CTYPEやLC_ALLを設定するように。Unicodeの引用符についてはMarkus Kuhnの説明を参照してくれ。

      • 殆どの環境でspecsファイルはインストールされなくなった。specsファイルを編集する必要があるなら-dumpspecsを使って生成してそれを編集するように。

      ちなみに位置リストってのは高級言語の変数と低級言語のレジスタ/メモリの対応を追跡するための情報。
  • Cパーサが (スコア:2, 参考になる)

    ef (25263) : 2005年04月22日 20時18分 (#726572)
    (bisonではなく)手書きの再帰降下パーサに変更されたってのも大きな変化ですね。
    C++ のメンバー宣言か関数呼び出しか曖昧なコード(の一部?)が正しくコンパイルできるようになった様です。
  • locate (5848) : 2005年04月22日 21時17分 (#726595)
    4/29発売のMacOSX10.4にはgcc4が採用されているという話でしたが、
    どのバージョンが載ってるんでしょうね?
    MacOSX10.4のCD-ROM(DVD-ROM?)を量産し始めた時点では、
    gcc4はリリースされていなかった訳だし。
  • >KDEやOOoなどの大きなC++プログラムの起動時間がかなりスピードアップ

    これは魅力的だなぁ。各ディストリビューションがこれでコンパイルされたパッケージを採用するのはまだ先のことになりそうですが、Gentoo Linux なんかだとけっこう早く恩恵にあずかれたりするのかな。
    --
    ペーストビン [windy.cx]
  • Anonymous Coward : 2005年04月22日 22時35分 (#726627)
    libgcjにJITサポート(gcjをJITとして使う)が入ってますね。
  • 3個のコメント が現在のしきい値以下です。