[cfe-dev] New signatures for Preprocessor and ASTContext constructors

Jorge Fernández Fabeiro fabeirojorge at gmail.com
Thu Nov 10 03:37:08 PST 2011


Hello,

Because of technical problems in my computer I had to rebuild the Clang
libraries I were using. Since now I can't know what version of Clang I was
using earlier, I had to build the latest one available in the SVN
repositories.

Due to this issue, now my code doesn't compile because of all the changes
in the signatures of several functions I'm using. I've been able to fix
some of these incompatibilities, but I still have two function calls that
don't work:

First, I'm trying to create a Preprocessor instance. In former versions,
the constructor method had this signature:
clang::Preprocessor::Preprocessor(clang::DiagnosticsEngine&,
clang::LangOptions&, clang::TargetInfo&, clang::SourceManager&,
clang::HeaderSearch&)’, but now it is
clang::Preprocessor::Preprocessor(clang::DiagnosticsEngine&,
clang::LangOptions&, const clang::TargetInfo*, clang::SourceManager&,
clang::HeaderSearch&, clang::ModuleLoader&, clang::IdentifierInfoLookup*,
bool, bool). I know that IdentifierInfoLookup* and the two bools have
default values, but I don't know how to build a proper instance of a
ModuleLoader.

Next, I'm also creating an ASTContext, but the compiler doesn't accept the
instance of Builtin::Context i'm passing into, because It identifies the
instance as clang::Builtin::Context(&)() instead of
clang::Builtin::Context&, unsigned int, bool). ¿How can I build an instance
of Builtin::Context properly?

Thanks,

Jorge Fdez. Fabeiro


P.S.: Sorry for my bad English, ;)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20111110/36927eb8/attachment.html>


More information about the cfe-dev mailing list