![SSSSLIDE](https://cdn-ak-scissors.b.st-hatena.com/image/square/161b2de6d8eceb6b26a9ffb1969f7844e5fdab0a/height=288;version=1;width=512/https%3A%2F%2Fsssslide.com%2Fogp.png)
Since the design document for cpp11-migrate, the C++11 migrator tool, was first proposed in early December 2012 development has been making steady progress. In this article I'll talk about what's been implemented in cpp11-migrate so far, what's coming up, and how you can get involved. The purpose of the C++11 Migrator is to do source-to-source translation to migrate existing C++ code to use C++11
benchmarks FreeBSD 9.1: LLVM/Clang Battling GCC PhoronixにPC-BSD 9.1 "Isotope" amd64(FreeBSD)においてLLVM Clang 3.1とGCC 4.2.1でコンパイルしたソフトウェアのベンチマーク結果が掲載(FreeBSD 9.1: LLVM/Clang Battling GCC)されました。興味深い内容です。 FreeBSDはFreeBSD 10.0-RELEASEの段階でLLVM Clangをシステムのデフォルトコンパイラにする方向で作業を進めています。次のように10-CURRENTのcc(1)はLLVM Clang 3.2に変更されています。 # cc --version FreeBSD clang version 3.2 (tags/RELEASE_32/final 170710) 2012122
最近LLVMについて調べてみたのでまとめてみる。自分はコンパイラの専門家でも何でもないので間違った内容があるかもしれない。GCCとコンパイラの仕組みLLVMの前にまずはコンパイラ一般の話。コンパイラはまずソースコードを解析して内部表現にする。これはたいていツリー構造となる。このツリー構造のデータに対して文法チェックを行ったり最適化処理を行ったりした後に、オブジェクトファイルを生成する。コンパイラの内部表現だが、実際には複数の種類の内部表現を使っていることが多いらしく、GCCもそのようになっている([1]の図3)。これによるとまずはその言語固有のツリーにするようだ(C trees, C++ treesなど)。これをGENERICという形式にする。GENERICは名前のとおり言語に依存しない一般的な形式で、どの言語の場合も一度GENERICにする。GENERICはその後さらにGIMPLEという
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く