2011年10月26日水曜日

まとめ:CLangをビルド(Release3.0 RC1)

先の文章だとわかりづらいので、新しくわかった内容も含めて2.9→3.0の変更点をまとめておく。


clang::LangOptionsは実装や利用可能オプションが結構変わっているので、clang/Basic/LangOptions.defファイルを見て内容を確認したほうがよい。
Windows/VisualC++関連として、MicrosoftオプションがMicrosoftExtとMicrosoftModeの2つに分割されている。


旧clang::Diagnosticのほとんどの機能はclang::DiagnosticsEngineに分離された。clang::Diagnosticクラスもまだ残っているが、構文解析においては単純に置換(Diagnostic→DiagnosticsEngine)するだけでいい様子。


clang::Preprocessorがclang::ModuleLoaderを要求するようになった。clang::ModuleLoaderは抽象クラスであり、例えばclang::CompilerInstanceが利用できる。


clang::Builtin::Contextがclang::TargetInfoを要求しなくなった。clang::Builtin::Context::InitializeTarget()というAPIがあるが、コールしなくても構文解析は動くようだ。


他、細かなインターフェースの変更や、リンクするlibの増加などがあるが、エラーに対して普通に対処すれば問題ない。

0 件のコメント:

コメントを投稿