LLVMチームがLLVM 3.8のリリースを発表した。今回のバージョンには、廃止予定になったものがいくつかと、新しいC APIヘッダおよびClang 3.8が含まれている。
バージョン3.8では、Windows XPとVistaのサポートが打ち切られ、少なくともWindows 7以上が必要になる。加えて、autoconfビルドシステムが廃止予定となり、バージョン3.9で取り除かれ、CMakeが必須ビルドシステムになる。
ビルド時間を改善するため、LLVM 3.8ではC APIヘッダの新構成が導入された。これはType.h
とErrorHandling.h
に影響を与え、それぞれのファイルには型固有の宣言とエラーハンドリングルーチンがすべて含まれるようになる。どちらのファイルもCore.h
からインクルードされているので、ほとんどの依存関係に影響を及ぼさないはずだが、推移的な依存関係には影響があるかもしれない。また今回のバージョンには、MIPS、ARM、PowerPC、X86をターゲットとするプラットフォーム固有の変更も多数含まれている。
LLVM 3.8には、Clang C/C++/Objective-CフロントエンドであるClang 3.8が含まれ、Clang全般およびその基盤に対する改善と、個別の言語に対する改善がなされている。前者には、診断、DWARFデバッギングのための新しいコンパイラフラグ、改善されたアライメント強制などが含まれる。言語フロントエンドについては、C言語、Open CL、OpenMPに新機能が導入されている。なおOpenMPはデフォルトでサポートされる。さらに、Clangの静的解析では、C++のラムダ周りや、vfork
の誤用チェックならびにObjective Cにおける__nonnull
修飾子の誤用チェックの追加などで改善がなされている。
LLVMがSwift、Emscripten、Rustなど、他の人気のある言語もサポートしていることに注目すべきだ。それぞれLLVMをフォークしたバージョンが出ており、修正や改善は定期的にアップストリームにプッシュされている。
Rate this Article
- Editor Review
- Chief Editor Action