[cfe-dev] Problem with a change on newFrontendActionFactory
David Blaikie
dblaikie at gmail.com
Thu May 1 13:17:01 PDT 2014
On Thu, May 1, 2014 at 1:12 PM, Richard Smith <richard at metafoo.co.uk> wrote:
> On Thu, May 1, 2014 at 12:55 PM, Etienne Ollivier <eollivier at bsu.edu> wrote:
>>
>> Hello,
>> I updated my clang repository recently and I an error appeared that was
>> not
>> there before:
>>
>> error: no viable conversion from 'std::unique_ptr<FrontendActionFactory>'
>> to
>> 'clang::tooling::ToolAction *'
>> return Tool.run(newFrontendActionFactory<MyPluginASTAction>());
>> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>>
>> It is because newFrontendActionFactory has been changed to work with
>> std::unique_ptr. So if I change my code to
>> return Tool.run(&(*newFrontendActionFactory<MyPluginASTAction>()));
>
>
> You can use .get() rather than the slightly non-obvious &*.
>
>>
>> it works. The only little problem is that it can be confusing for users
>> since is not the way it is written in the documentation, like on this
>> pages:
>> http://clang.llvm.org/docs/LibTooling.html
>> http://clang.llvm.org/docs/LibASTMatchersTutorial.html
>
>
> Thanks, I've updated the documentation.
I'm trying to understand how the ownership used to work/is meant to work now...
More information about the cfe-dev
mailing list