compilerplugins/clang/unnecessaryparen.cxx | 5 +++++ 1 file changed, 5 insertions(+)
New commits: commit 88629b55041b9e7ff5c94afeb2aae725a5898687 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Sat Apr 11 16:55:25 2020 +0200 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Sat Apr 11 17:44:54 2020 +0200 Adapt loplugin:unnecessaryparen to C++20 CXXRewrittenBinaryOperator ...as is used by GCC trunk libstdc++ std::unique_ptr since <https://gcc.gnu.org/ git/?p=gcc.git;a=commitdiff;h=5b074864f8c593fd4bccee788a023a37b446b2ed> "libstdc++: Add comparison operators to std::unique_ptr", which caused unexpected warnings like > sfx2/source/dialog/tabdlg.cxx:1057:17: error: parentheses immediately inside vardecl statement [loplugin:unnecessaryparen] > bool bSet = ( m_pSet != nullptr ); > ^~~~~~~~~~~~~~~~~~~~~ (CXXRewrittenBinaryOperator was introduced with <https://github.com/llvm/ llvm-project/commit/778dc0f1d49230f53401ae0c190fe460bda4ffd1> "[c++20] Add CXXRewrittenBinaryOperator to represent a comparison", which first appeared in LLVM 10.) Change-Id: I68024d975dc4accbfa9da855baa37bf9f990b99c Reviewed-on: https://gerrit.libreoffice.org/c/core/+/92061 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/compilerplugins/clang/unnecessaryparen.cxx b/compilerplugins/clang/unnecessaryparen.cxx index 106f2d2b3352..e93dfa64b5ec 100644 --- a/compilerplugins/clang/unnecessaryparen.cxx +++ b/compilerplugins/clang/unnecessaryparen.cxx @@ -468,6 +468,11 @@ bool UnnecessaryParen::VisitVarDecl(const VarDecl* varDecl) // Sometimes parentheses make the RHS of an assignment easier to read by // visually disambiguating the = from a call to == auto sub = parenExpr->getSubExpr(); +#if CLANG_VERSION >= 100000 + if (auto const e = dyn_cast<CXXRewrittenBinaryOperator>(sub)) { + sub = e->getDecomposedForm().InnerBinOp; + } +#endif if (auto subBinOp = dyn_cast<BinaryOperator>(sub)) { if (!(subBinOp->isMultiplicativeOp() || subBinOp->isAdditiveOp() || subBinOp->isPtrMemOp())) _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits