[Libreoffice-commits] core.git: Fix build after 7d71451e8e0226d3f3f523611f55132eda6ec10f
Chris Sherlock
chris.sherlock79 at gmail.com
Fri Apr 28 09:01:22 UTC 2017
> On 28 Apr 2017, at 6:55 pm, Stephan Bergmann <sbergman at redhat.com> wrote:
>
> On 04/28/2017 10:40 AM, Chris Sherlock wrote:
>>>> On 27 Apr 2017, at 6:07 pm, Stephan Bergmann <sbergman at redhat.com> wrote:
>>>> On 04/27/2017 10:04 AM, Stephan Bergmann wrote:
>>>> commit 5a7123d6869c9248a7ce3a22fffd84f76ceb360f
>>>> Author: Stephan Bergmann <sbergman at redhat.com>
>>>> Date: Thu Apr 27 10:03:03 2017 +0200
>>>> Fix build after 7d71451e8e0226d3f3f523611f55132eda6ec10f
>>>> "vcl: change pImpl class names to fit with existing convention"
>>>
>>> Please think twice (or even more often) before doing cosmetic changes like that <https://cgit.freedesktop.org/libreoffice/core/commit/?id=7d71451e8e0226d3f3f523611f55132eda6ec10f> "vcl: change pImpl class names to fit with existing convention". They easily cause more pain (for others) than they're worth the trouble.
>>>
>>>> Change-Id: Ic02ca5b71a96b852951ac1b14b966b1ba2f006e9
>>>> diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx
>>>> index 32d471240de1..2d5dd6333bc9 100644
>>>> --- a/compilerplugins/clang/vclwidgets.cxx
>>>> +++ b/compilerplugins/clang/vclwidgets.cxx
>>>> @@ -428,7 +428,7 @@ bool VCLWidgets::VisitFieldDecl(const FieldDecl * fieldDecl) {
>>>> if (containsVclReferenceBaseSubclass(fieldDecl->getType())) {
>>>> // have to ignore this for now, nasty reverse dependency from tools->vcl
>>>> auto check = loplugin::DeclCheck(pParentRecordDecl);
>>>> - if (!(check.Struct("ErrorContextImpl").GlobalNamespace()
>>>> + if (!(check.Struct("ImplErrorContext").GlobalNamespace()
>>>> || check.Class("ScHFEditPage").GlobalNamespace()))
>>>> {
>>>> report(
>> What exactly did it break? Genuinely curious.
>
> Just look at the Jenkins builds for <https://gerrit.libreoffice.org/#/c/36861/> "vcl: change pImpl class names to fit with existing convention", namely <https://ci.libreoffice.org/job/lo_gerrit/10639/Config=linux_clang_dbgutil_64/console>:
>
> In --enable-compiler-plugins --enable-werror Clang builds, compiling vcl/source/window/errinf.cxx now failed with a loplugin:vclwidgets warning/error about the changed
>
>> -struct ErrorContextImpl
>> +struct ImplErrorContext
>> {
>> vcl::Window *pWin; // FIXME: should be VclPtr for strong lifecycle
>> };
>
> as the whitelisting of that struct in compilerplugins/clang/vclwidgets.cxx still used the old name.
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice
I see, so it was breaking the compiler plugin. Is there any documentation around how the compiler plugin works? I didn't realise this would occur, and I must need to enable something in OS X to get clang plugins working...
Chris
More information about the LibreOffice
mailing list