diff --git a/src/Decl.cpp b/src/Decl.cpp index 8dd9871..743f21e 100644 --- a/src/Decl.cpp +++ b/src/Decl.cpp @@ -120,7 +120,7 @@ void FunctionsMixin::add_functions(C2FFIASTConsumer* ast, const clang::CXXRecord f->set_is_static(m->isStatic()); f->set_is_virtual(m->isVirtual()); f->set_is_const(m->isConst()); - f->set_is_pure(m->isPure()); + f->set_is_pure(m->isPureVirtual()); f->set_location(ast->ci(), m); for(clang::FunctionDecl::param_const_iterator i = m->param_begin(); i != m->param_end(); i++) { diff --git a/src/c2ffi.cpp b/src/c2ffi.cpp index 0ccb2e5..53c4d5b 100644 --- a/src/c2ffi.cpp +++ b/src/c2ffi.cpp @@ -62,7 +62,7 @@ int main(int argc, char *argv[]) { C2FFIASTConsumer *astc = NULL; - const clang::FileEntry *file = ci.getFileManager().getFile(sys.filename).get(); + auto&& file = ci.getFileManager().getFileRef(sys.filename).get(); clang::FileID fid = ci.getSourceManager().createFileID(file, clang::SourceLocation(), clang::SrcMgr::C_User); diff --git a/src/init.cpp b/src/init.cpp index 56b19b2..d158462 100644 --- a/src/init.cpp +++ b/src/init.cpp @@ -199,7 +199,7 @@ void c2ffi::init_ci(config &c, clang::CompilerInstance &ci) { lo.WCharSize = c.wchar_size; std::vector includes; - ci.getInvocation().getLangOpts()->setLangDefaults(lo, c.kind.getLanguage(), + ci.getInvocation().getLangOpts().setLangDefaults(lo, c.kind.getLanguage(), pti->getTriple(), includes, c.std); //clang::LangOptions::setLangDefaults(lo, c.kind.getLanguage(), pti->getTriple(), includes, c.std); ci.createFileManager();