Closed
Description
of course the new major clang upgrade mess up stuff again..
from Clang 10.0.0 Release Notes
Internal API Changes
These are major API changes that have happened since the 9.0.0 release of Clang.
If upgrading an external codebase that uses Clang as a library,
this section should help get you past the largest hurdles of upgrading.
libTooling APIs that transfer ownership of FrontendAction objects now pass them by unique_ptr,
making the ownership transfer obvious in the type system.
FrontendActionFactory::create() now returns a unique_ptr<FrontendAction>.
runToolOnCode, runToolOnCodeWithArgs,
ToolInvocation::ToolInvocation() now take a unique_ptr<FrontendAction>.
so with clang, llvm and libc++ 10.0.0 on arch linux, moc-ng does not build anymore.
first two errors are isolated to above change note for internal api.
/*buildpath*/moc-ng/src/main.cpp:451:38: error: no matching constructor for initialization of 'clang::tooling::ToolInvocation'
clang::tooling::ToolInvocation Inv(Argv, new clang::PrintPreprocessedAction, &FM);
/*buildpath*/moc-ng/src/main.cpp:465:34: error: no matching constructor for initialization of 'clang::tooling::ToolInvocation'
clang::tooling::ToolInvocation Inv(Argv, new MocAction, &FM);
and this one might be a chain reaction.. but adding to the list for completeness.
/*buildpath*/moc-ng/src/mocng.cpp:159:37: error: no viable conversion from 'Optional<clang::FileEntryRef>' to 'const clang::FileEntry *'
const clang::FileEntry *File = PP.LookupFile(
Metadata
Assignees
Labels
No labels