compilerplugins/clang/compat.hxx | 3 ++- compilerplugins/clang/refcounting.cxx | 2 +- compilerplugins/clang/staticmethods.cxx | 2 +- compilerplugins/clang/unusedvariablecheck.cxx | 2 +- compilerplugins/clang/vclwidgets.cxx | 2 +- 5 files changed, 6 insertions(+), 5 deletions(-)
New commits: commit 3d5dc80b0760ad37537cf449e7ac3836f68ad910 Author: Noel Grandin <n...@peralex.com> Date: Tue Aug 4 10:25:48 2015 +0200 fix crash in refcounting plugin introduced by commit c15b4cf39a74176cee64795129d76f411d2c0a69 "Adapt to current Clang trunk towards 3.7" Change-Id: I00f58d3bc79e641df9bba4e9b1d5c8463b87dc42 diff --git a/compilerplugins/clang/compat.hxx b/compilerplugins/clang/compat.hxx index d7fb644..4dd5d99 100644 --- a/compilerplugins/clang/compat.hxx +++ b/compilerplugins/clang/compat.hxx @@ -68,12 +68,13 @@ inline bool isInExternCContext(clang::FunctionDecl const & decl) { inline bool forallBases( clang::CXXRecordDecl const & decl, clang::CXXRecordDecl::ForallBasesCallback BaseMatches, + void* callbackParam, bool AllowShortCircuit) { #if (__clang_major__ == 3 && __clang_minor__ >= 7) || __clang_major__ > 3 return decl.forallBases(BaseMatches, AllowShortCircuit); #else - return decl.forallBases(BaseMatches, nullptr, AllowShortCircuit); + return decl.forallBases(BaseMatches, callbackParam, AllowShortCircuit); #endif } diff --git a/compilerplugins/clang/refcounting.cxx b/compilerplugins/clang/refcounting.cxx index c82dfeb..7b859ff 100644 --- a/compilerplugins/clang/refcounting.cxx +++ b/compilerplugins/clang/refcounting.cxx @@ -90,7 +90,7 @@ bool isDerivedFrom(const CXXRecordDecl *decl, const char *pString) { { return BaseCheckNotSubclass( BaseDefinition, const_cast<char *>(pString)); }, #endif - true)) + static_cast<void*>(const_cast<char*>(pString)), true)) { return true; } diff --git a/compilerplugins/clang/staticmethods.cxx b/compilerplugins/clang/staticmethods.cxx index 4fbddeb..a02348f 100644 --- a/compilerplugins/clang/staticmethods.cxx +++ b/compilerplugins/clang/staticmethods.cxx @@ -55,7 +55,7 @@ bool isDerivedFromTestFixture(const CXXRecordDecl *decl) { if (// not sure what hasAnyDependentBases() does, // but it avoids classes we don't want, e.g. WeakAggComponentImplHelper1 !decl->hasAnyDependentBases() && - !compat::forallBases(*decl, BaseCheckNotTestFixtureSubclass, true)) { + !compat::forallBases(*decl, BaseCheckNotTestFixtureSubclass, nullptr, true)) { return true; } return false; diff --git a/compilerplugins/clang/unusedvariablecheck.cxx b/compilerplugins/clang/unusedvariablecheck.cxx index 9bbb9d5..80e32b8 100644 --- a/compilerplugins/clang/unusedvariablecheck.cxx +++ b/compilerplugins/clang/unusedvariablecheck.cxx @@ -73,7 +73,7 @@ bool isDerivedFromDialog(const CXXRecordDecl *decl) { if (// not sure what hasAnyDependentBases() does, // but it avoids classes we don't want, e.g. WeakAggComponentImplHelper1 !decl->hasAnyDependentBases() && - !compat::forallBases(*decl, BaseCheckNotDialogSubclass, true)) { + !compat::forallBases(*decl, BaseCheckNotDialogSubclass, nullptr, true)) { return true; } return false; diff --git a/compilerplugins/clang/vclwidgets.cxx b/compilerplugins/clang/vclwidgets.cxx index 032dc93..ea0cdff 100644 --- a/compilerplugins/clang/vclwidgets.cxx +++ b/compilerplugins/clang/vclwidgets.cxx @@ -81,7 +81,7 @@ bool isDerivedFromWindow(const CXXRecordDecl *decl) { if (// not sure what hasAnyDependentBases() does, // but it avoids classes we don't want, e.g. WeakAggComponentImplHelper1 !decl->hasAnyDependentBases() && - !compat::forallBases(*decl, BaseCheckNotWindowSubclass, true)) { + !compat::forallBases(*decl, BaseCheckNotWindowSubclass, nullptr, true)) { return true; } return false; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits