先の文章だとわかりづらいので、新しくわかった内容も含めて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 件のコメント:
コメントを投稿