タグ

clangに関するlizyのブックマーク (9)

  • オーバーライドされた仮想関数にまつわる最適化 - Qiita

    はじめに あるクラスから派生したクラスで、基底クラスのメソッドをオーバーライドしたとする。この時、派生クラスがコンパイル時にわかっているときに、コンパイラはそれを認識して最適化できるか試してみた。 使うコンパイラは以下の通り。 g++ (Homebrew GCC 7.3.0_1) 7.3.0 clang++ Apple LLVM version 9.1.0 (clang-902.0.39.2) icpc (ICC) 18.0.1 20171018 ただし、インテルコンパイラについては最後でちょっと触れるだけにする。 ケース1: 静的な宣言 こんなコードを考える。

    オーバーライドされた仮想関数にまつわる最適化 - Qiita
  • C++17の標準ライブラリの参考書を書く

    江添がドワンゴに入社してから、もうかれこれ3年目になる。そろそろ、「江添ごときがC++の規格で飯をっているのはけしからん。俺はC++の規格にも詳しいしC++コンパイラーも実装できる。俺が代わりにやる」という強者が出てきて私の仕事が楽になって欲しいのだが、残念ながら、そのような状況にはなっていない。より一層のC++の啓蒙活動が必要だ。 ところで、2017年に制定される予定のC++17規格が迫っている。すでにドラフトには多くの新機能が入っている。C++17の参考書を書くのであれば今から始めるしかない。まだ紙のとして出せるかどうかはわからないが、とにかく書き始めることにする。 前回のC++11のコア言語の参考書の執筆と、Bjarne Stroustrupのプログラミング入門書の査読を経て、私はいくつかの教訓を得た。 不必要に堅苦しく難しい文章を書くな。簡潔で必要最小限の文章を書け 参考書のソ

  • PlayStation 4、開発にはLLVM Clang

    LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. 11月6日から7日(米国時間)にかけてサンフランシスコで開催された「2013 LLVM Developers' Meeting」におけるプレゼンテーションのようすがサイトにアップロードされた。Sony Computer EntertainmentのPaul T. Robinson氏がPlayStation 4の開発環境について発表しており、コンパイラインフラストラクチャとしてLLVM Clangを採用していること、採用に至るまでの検討事項や、結果としてどのような利点が得られたかを説明している。 PlayStation 4の開発にはLLVM

  • ClangがC++11を完全実装! 繰り返す、C++11を完全実装

    [Phoronix] LLVM's Clang Compiler Is Now C++11 Feature Complete C++11 support is now feature-complete. · e6e68b5 · llvm-mirror/clang · GitHub 3時間前のコミットにより、Clangは晴れてC++11規格を完全に実装した。その通り、完全にすべて実装した。 コミットは、Inheriting Constructorsとthread_localの機能を有効にする変更だ。 もちろん、まだ実装にバグは残っているだろうし、規格上のバグもあるので、開発に終わりはない。ただし、今日は記念すべき日である。 static_puts said... そうすると、ますますC++11の重要性が高まってきますね! 「寄付のお願い」の方にも書かせていただいたのですが、書籍の執筆への寄

  • null.ly - a really cool domain parked on Park.io

    The domain name null.ly is being parked on Park.io. Contact the domain owner to make an offer right now...

    null.ly - a really cool domain parked on Park.io
  • Qt Creator、Clang対応進める - Clangの優れた解析力評価 | エンタープライズ | マイコミジャーナル

    Qt - A cross-platform application and UI framework 「Qt Creator」の「C++コードモデル」を現在の実装からLLVM Clangに置き換える取り組みが進められていることが「Qt Creator and Clang」において報告されている。C++コードモデルは統合開発環境Qt Creatorにおいてソースコードそのものを理解する部分。コードモデルがプログラミング言語を理解することでシンタックスハイライトやナビゲーション、イントロスペクション、リネーム、リファクタリングなどの作業が実現できている。 説明によれば、現在の実装よりもLLVM Clangの方が適切な分析を実施できることから、今回の移行につながったとされている。ClangはすでにC++98/03、C99、Objective-C / Objective-C++に対応しており、C+

    lizy
    lizy 2011/10/28
  • gccとclangのC++0xサポートの比較

    C++0xの規格はほぼ固まり、もはや変更されることはない。恐らく、このまま規格制定されるものと思われる。さて、今C++の主要なコンパイラーを上げるとすると、gccとclangをおいて他にはない。MSVCはオモチャだ。右の両コンパイラーは、C++0xの新機能を実装し始めている。もちろん、まだ不完全な実装も多いが、とりあえず遊べる程度には実装できている機能も多いので、比較してみることにする。 gccのC++0xサポート状況は、以下のページに簡易な一覧がある。 C++0x Support in GCC - GNU Project - Free Software Foundation (FSF) clangのC++サポート状況は、以下のページに簡易な一覧がある。 Clang - C++ and C++'0x Status 面白いことに、どちらか片方のコンパイラーでしか実装されていない機能が、結構あ

  • clangでソフトウェアをビルドしC++を知る - 射撃しつつ前転 改

    clangというのはllvm向けのC/C++/Obj-Cのためのフロントエンドで、最近はGoogle ChromeとかFirefoxもコンパイルできるレベルにまで成熟してきているらしい。 いくつかのブログで紹介されているのを見ても、ふーん、ぐらいにしか思っていなかったのだが、あんな大規模なソフトウェアがコンパイルできるというのは、考えてみるとすごいことである。大事なことなので強調しておくが、すごいことである。十分に実用的なレベルに到達していることだ。ビルドも早いし生成されたコードもg++と同程度には速いというし、試してみる必要がある。 という訳で、いくつか実際にソフトウェアをビルドしてみた。試してみた限りでは、 libstdc++のtr1/unordered_mapがビルドできない C++のコーナーケースで、clangが許容しないものが多い といった問題があったが、割とどれもすんなりとコン

    clangでソフトウェアをビルドしC++を知る - 射撃しつつ前転 改
    lizy
    lizy 2011/04/19
    コンパイラのセカンドオピニオン
  • C言語の対話環境ccons - きりかノート 3冊め

    cfe-dev MLに流れていた「[ANN] ccons : an interactive console for C based on clang and LLVM」 http://lists.cs.uiuc.edu/pipermail/cfe-dev/2009-April/004960.html http://code.google.com/p/ccons/ http://fizzysoft.net/personal/ccons.pdf clang/LLVMを利用した、irbのようなC言語の対話環境"ccons"というプロジェクトの告知。名前は似てるけどsconsとはぜんぜん関係ない。 Cのインタプリタというのはこれまでにもあったけれど、clangのライブラリを使ってるのはたぶん初じゃないかな。さっきチェックアウトしたr165でtestディレクトリを除いたファイルの総行数が3,000程

    C言語の対話環境ccons - きりかノート 3冊め
  • 1