Skip to content

clang 10 updates needed #15

Closed
Closed
@bjornstromberg

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
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions