LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations.

LLVMがC++標準ライブラリとして新しくlibc++含むようになった。LLVMはこれまでC++標準ライブラリとしてGCC/G++のlibstdc++を採用してきた。libc++はこれを置き換えることになるもので、BSDライセンスのもとで提供されている。libc++の特徴は次のとおり。

  • C++0Xをターゲットにして実装が進められている
  • 高速コンパイル
  • 高速実行
  • 省メモリ
  • libstdc++とのABI互換性あり
  • 開発段階にありN3092実装の85%ほどを達成
  • BSDライセンスでの提供

GCC/G++ libstdc++ではなく新しくlibc++を採用することになった経緯としては次の内容が紹介されている。

  • 主流のlibstdc++はGPL3に移行しており採用できない。GPL2ライセンスはGCC 4.2のlibstdc++までだがこれを採用し続けることはコードベースの分岐を招く。
  • libstdc++はG++に強く結びついた作りになっており対応するG++のバージョンとの関連性が高い。

libc++はもともとHoward Hinnant氏によって開発されたもの。Howard Hinnant氏はAppleの技術者であり、libc++採用にはAppleからBSDライセンスでのC++標準ライブラリの提供という背景がある。BSDライセンスでのC++標準ライブラリの提供の望むプロジェクトはほかにもあり、FreeBSDなどのOSでもlibstdc++に変わるデフォルトのC++標準ライブラリとして入れ替えが進むことになるとみられる。