タグ

gccに関するnminoruのブックマーク (20)

  • A serious bug in GCC

    This post is to inform you about a bug in GCC that may cause memory (or other resource) leaks in your valid C++ programs. One of the pillars of C++ philosophy is what we often call RAII: if you use classes to manage resources, use constructors for allocating resources and destructors for releasing them, the language makes sure that whatever happens, however you use such classes the resources will

    A serious bug in GCC
  • GCCの最適化がインテルコンパイラより賢くて驚いた話 - Qiita

    はじめに コンパイラの最適化機能が、どこまで何を見抜くかに興味がある。特に、あるコンパイラができて、他のコンパイラができなかったりすることが見つかると楽しい。そういうのを見つけたのでメモ。 ソース コンパイラにわせるコードはこんなの。

    GCCの最適化がインテルコンパイラより賢くて驚いた話 - Qiita
    nminoru
    nminoru 2016/04/30
  • KMC Staff Blog:GNU CPP(GCC)の独自拡張#include_next指令

    2014年09月11日 GNU CPP(GCC)の独自拡張#include_next指令 Warp の挙動を調べている時に、GCC のプリプロセッサの #include_next 指令の挙動にかなり悩んだので、備忘録も兼ねてドキュメントの日語訳をアップロードします。 厳密な仕様が無く、あまり有名でもない(?)独自拡張なので(ARM CC や IBM XL C/C++ など、一応 GCC 以外のコンパイラのプリプロセッサにも取り入れられているようですが)、情報が少なく、実際にいろいろ動かして実験してみないと挙動がよくわからず、かなり混乱しました。以下の翻訳もあまり自信が無いので、何かお気づきの点があれば、コメント欄にてご指摘いただけると幸いです。(ただし、現在スパムコメントがあまりにも多いため、半角英数字のみのコメント、国外の IP アドレスからのコメント、改行が 10 個以上あるコメント

    nminoru
    nminoru 2015/02/04
    こんなGCC拡張があったのね。
  • Just-In-Time (JIT) Compilation Support Merged For GCC 5 - Phoronix

    Show Your Support: Did you know that you can get Phoronix Premium for under $4 per month? Try it today to view our site ad-free, multi-page articles on a single page, and more while the proceeds allow us to write more Linux hardware reviews. At the very least, please disable your ad-blocker. Just-In-Time (JIT) Compilation Support Merged For GCC 5 Written by Michael Larabel in GNU on 12 November 20

    Just-In-Time (JIT) Compilation Support Merged For GCC 5 - Phoronix
    nminoru
    nminoru 2014/11/13
  • KMC Staff Blog:GCC のプラグインを作ってみる (2) C++ で g++ のプラグインを書いてみる

    2013年07月17日 GCC のプラグインを作ってみる (2) C++ で g++ のプラグインを書いてみる GCC はバージョン 4.8 から、実装言語が C++ になりました。というわけで、プラグインも今後は C++ で書きたいところです。また、せっかくなので、gcc ではなく g++ のプラグインを C++ で書いてみました。 参考サイト:Parsing C++ with GCC plugins, Part 2 とりあえず、g++ -4.7 をインストールします。 $ sudo apt-get install g++-4.7 以下のような g++ のプラグインを書いてみました。PLUGIN_OVERRIDE_GATE だと、何回もコールバックが呼び出されてしまうので、PLUGIN_FINISH_UNIT でコンパイル単位(cpp ファイル)が終わった時だけ、global names

  • INTEL コード & ダウンロード

    Using Intel.com Search You can easily search the entire Intel.com site in several ways. Brand Name: Core i9 Document Number: 123456 Code Name: Alder Lake Special Operators: “Ice Lake”, Ice AND Lake, Ice OR Lake, Ice* Quick Links You can also try the quick links below to see results for most popular searches. Product Information Support Drivers & Software

    INTEL コード & ダウンロード
    nminoru
    nminoru 2012/09/29
    基本だがまとまっている。
  • [Prog] gcc で x86 のインラインアセンブラを書くために - NAKAMURA Minoru's Diary

    DFS: A File System for Virtualized Flash Storage FAST10 にプリンストン大学の William K. Josephson らの DFS: A File System for Virtualized Flash Storage という論文が投稿されている。 NAND flash 上に構築するファイルシステムの理想形はこうなると考えたプロトタイプである。 DFS という名前だが分散ファイルシステム(Distributed File System)ではなく、 Direct File System の略である。 ZFS、btrfs、ext4 などと同じローカル用のファイルシステムだ。 ただし Fusion-io 社が噛んでいて ioDrive に実装している。 ioDrive 固有の機能も利用していると推測される。 逆に最近 Fusion-io

  • GCC、CからC++への移行が完了 | スラド デベロッパー

    わたしがGCCをビルドしていたのは10年以上前なのでピント外れなことをいっているかも知れないけど、当時、GCCがコンパイルできる環境やCコンパイラは少なかった。つまり、特にポータビリティが高いわけではなかった。事実上、それなりに新しい、余力のあるUnixシステムじゃなければ、ポートにはかなりの作業が必要だった。それをする人がいなくなれば、対応システムからハズされるだけ。 それなりに新しいUnixシステムなら、GCCなり、それなりのC++が搭載されているだろうから、GCCがC++で書けていても、特に問題にならない。 以前のように、リアルタイムシステムのようなサードパーティのシステムが豊富にある状況じゃないし、独自のコンピュータのベンダーも減ったしね。Sony NEWSもOMRON LunaもDECもSGIもない。やっぱり、大きな問題はないね。つまらないけど、それが現実。

    nminoru
    nminoru 2012/08/20
  • 革命の日々! gcc 4.7 だとカーネルがまともに動かないんじゃないの?という話

    Jan Karaがなかなか素敵なバグを報告している。 bitfieldいじるときに、64bit load/store使えうように、となりのbitfieldも合わせて read-modify-write するから全然関係ないフィールド更新時に別のフィールドがlostするって・・・ でいつものようにGCC界隈から「Cの規格書にはやっちゃダメとは書いてない」という声が飛んできて カーネル界隈から「そんなんソフトが書けるか。あほー」という怒号が飛び交う展開に だって、普通たまたま隣り合ってるだけの全然関係ないフィールドってロックも別だよねえ(-_-;) From: Jan Kara jack@suse.cz vger.kernel.org To: LKML Cc: linux-ia64@vger.kernel.org, Linus Torvalds , dsterba@suse.cz, ptesa

    nminoru
    nminoru 2012/02/02
  • 「GCC 4.6.1」がリリース、Go言語サポートがデフォルトで有効に | OSDN Magazine

    Free Software Foundation(FSF)のGNU ProjectとGCC開発チームは6月27日、オープンソースのコンパイラスイート「GNU Compiler Collection(GCC)4.6.1」を公開した。バグ修正およびドキュメントのアップデート中心のリリースとなる。 GCC 4.6.1は、3月末に公開された4.6の最初のバグ修正リリースとなる。バージョン4.6ではC、C++Java、Ada、Fortranなどに加え、Googleが2009年11月に発表したGo言語の対応が加わっていた。 4.6.1はバグ修正、リグレッション修正、ドキュメンテーションのアップデートが中心で、新機能の追加はない。重要度の高い「P1」に分類されたリグレッションはなく、次に重要度の高い「P2」は107件、最も低い「P3」は8件、合計で115件が修正された。 このほか、Go言語の対応がデフ

    「GCC 4.6.1」がリリース、Go言語サポートがデフォルトで有効に | OSDN Magazine
    nminoru
    nminoru 2011/06/28
  • GCC 4.6リリース、Google Goの正式サポートなど多数の変更点を含む | OSDN Magazine

    GNU ProjectとGCC開発チームは3月25日、オープンソースのコンパイラスイート「GNU Compiler Collection(GCC) 4.6」をリリースした。米Googleの「Go」言語サポートなど、多数の修正や新機能が追加されている。 2010年4月にバージョン4.5を公開してから1年弱でのメジャーリリースとなる。GCC 4.6ではC、C++Java、Ada、Fortranなどに加え、Googleが2009年11月に発表したGo言語にも対応した。Goは並列処理をサポートし、Pythonなどの動的言語の開発速度とCやC++のようなコンパイル言語の性能を併せ持つとしている。Goは現在LinuxとリアルタイムOSである「RTEMS」で利用でき、Solaris対応も進んでいる段階という。ただしGo言語のサポートはデフォルトでは有効化されておらず、利用する際はビルド時に設定が必要と

    GCC 4.6リリース、Google Goの正式サポートなど多数の変更点を含む | OSDN Magazine
    nminoru
    nminoru 2011/03/28
  • Firefox、GCC 4.5採用でパフォーマンス劣化 | エンタープライズ | マイコミジャーナル

    Firefox web browser - Faster, more secure & customizable GCCのメーリングリストにおいて、FirefoxのビルドをGCC 4.3からGCC 4.5へ切り替えたら、いくつかのベンチマークで4%から19%ほどベンチマーク結果が悪くなったという内容が報告されている。Linux 32ビット版および64ビット版の双方で劣化が確認されたという。唯一の例外はLinux 64ビット版でSunSpiderを実行したケースで、この場合には8%ほどの性能改善が計測されたという。GCC 4.5は4月14日にリリースされたGCC最新メジャーバージョン。 このやりとりはMassive performance regression from switching to gcc 4.5から追うことができる。やりとりの中で、指定しているオプションに原因があるのではない

    nminoru
    nminoru 2010/06/29
    コンパイラの最適化ではよくあること。良かれと思って作った最適化ルーチンがアプリを高速化するとは限らない。
  • GCC開発におけるC++の利用が承認される | スラド デベロッパー

    GNU Compiler Collection(GCC)メーリングリストへの投稿によると、GCC開発におけるC++の利用をGCC Steering CommitteeおよびFree Software Foundationが承認したとのこと(家記事、SourceForge.JP Magazine記事)。 GCCはCで書かれているが、今回の決定により今後はC++での開発が可能になる。現時点ではどのサブセットを利用するかは未定とのこと。 この件をメーリングリストに投稿したCodeSourceryのMark Mitchell氏によると、C++の採用はより良いコンパイラを作るためとのことで、C++の利用それ自体が目的ではないという。同氏はC++に精通していない開発者を考慮し、当初は利用できるC++の機能を「Cプログラマーに理解し易く、かつC++初心者が間違い難い」ものに制限したほうが良いと提言して

    nminoru
    nminoru 2010/06/02
    めでたいことです。
  • https://moriyoshi.hatenablog.com/entry/20100428/1272452495

    nminoru
    nminoru 2010/04/28
    そう驚くべきことではないと思う。テンプレートは所詮C++コンパイラのフロントエンドで処理されるのだし、オプティマイザーから見ればCのマクロと大差ない。
  • GCC 4.5.0/4.4.0/4.3.0性能比較 | エンタープライズ | マイコミジャーナル

    Phoronix Media is the largest Internet media company devoted to enriching the Linux hardware experience and catering its content to Linux gamers and computer enthusiasts. Phoronixが早速登場したばかりのGCC 4.5.0に関するベンチマークを実施して発表した。比較に使われたコンパイラは1年前のバージョンとなるGCC 4.4.0およびGCC 4.3.0。[Phoronix] Benchmarks Of GCC 4.5.0 Compiler Performanceにベンチマーク結果がまとめられている。計測に使われたプラットフォームおよびベンチマーク項目は次のとおり。 ベンチマークプラットフォーム GCC GCC 4.3

  • GCC 4.5 Release Series — Changes, New Features, and Fixes - GNU Project

    GCC 4.5 Release Series Changes, New Features, and Fixes Caveats GCC now requires the MPC library in order to build. See the prerequisites page for version requirements. Support for a number of older systems and recently unmaintained or untested target ports of GCC has been declared obsolete in GCC 4.5. Unless there is activity to revive them, the next release of GCC will have their sources permane

    nminoru
    nminoru 2010/04/17
    GCC 4.5 Release Series Changes, New Features, and Fixes
  • 兼雑記 | [Program][GCC] GCC plugin branch

    前回: http://d.hatena.ne.jp/shinichiro_h/20080803#1217701533 GEM のこと見てたら plugin branch なんてあるんだなーと気付きました。 GEM 同様実装はすごい簡単で、要所要所で適当に dlopen した共有オブジェクトの関数呼ぶだけみたいです。技術的には全く問題ないけど RMS がプロプライエタリなのを助けてしまわないかと懸念してそんなことないべと言ったりとかそんな感じ。 http://gcc.gnu.org/ml/gcc/2007-11/msg00180.html あまり深く考えず使ってみます。 % svn co svn://gcc.gnu.org/svn/gcc/branches/plugin gcc-plugin % cd gcc-plugin % mkdir obj % cd obj % ../configur

    兼雑記 | [Program][GCC] GCC plugin branch
  • HomePage - GCC Wiki

    Welcome to GCC Wiki This page contains information about the GNU Compiler Collection. Please read HowToUseWiki if you need help editing this WikiWikiWeb. (Only members of the EditorGroup group may edit this wiki.) This wiki is not for random discussion of GCC, nor for asking questions. It is here to provide information. If you have questions, please use the mailing list. Do not add questions to th

  • Using and Porting the GNU Compiler Collection (GCC) - C 言語ファミリに対する拡張機能

    GNU Cは、 ANSIの標準Cにはない特徴的な言語機能をいくつか提供しています (`-pedantic'オプションは、 これらの機能が使われた場合に 警告メッセージを出力するようGNU CCに対して指示するものです)。 条件コンパイルにおいて、 これらの機能が利用可能であるかどうかをテストするためには、 __GNUC__というマクロが事前に定義されているかどうかをチェックします。 この__GNUC__というマクロは、 GNU CCでは常に定義されています。 これらの拡張機能はCとObjective Cで利用可能です。 また、 そのほとんどはC++でも利用可能です。 C++にのみ適用可能な拡張機能については、 C++言語に対する拡張機能を参照してください。 式の中の文と宣言 GNU Cにおいては、 丸括弧()で囲まれた複文を1つの式とみなすことができます。 これによって、 1つの式の中でル

    nminoru
    nminoru 2006/07/03
    GCC 拡張
  • gccのx86インラインアセンブリに関して

    GCCでインラインアセンブリを使用 する方法と留意点等 for x86  (1999〜2006年10回改訂、2006年1月22日注意を追加、最終更新日2006年5月27日) 文: A. SAITOH <s-akira at users.sourceforge.net>  home ※システム名、CPU名は一般に開発会社の登録商標です。 以下の情報はあまり過度に信用しないで下さい。より正確な情報は、asやgccのinfoから得て下さい。 個々のプロセッサ命令の解説はここでは述べません。そのような技術資料は、インテルやAMDのウェブ サイトのdeveloper向けのページからpdf形式で入手できます。 以下の文及びプログラム例の運用結果に関して、筆者は一切責任を負いません。 参考文献 [0] D. Stancevic, K. Scheibler, J. Leto, Linux Assembly

  • 1