loplugin:unnecessaryparen include c++ casts

Change-Id: I132d3c66f0562e2c37a02eaf4c168d06c2b473eb
Reviewed-on: https://gerrit.libreoffice.org/41874
Tested-by: Jenkins <ci@libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
This commit is contained in:
Noel Grandin
2017-09-04 08:53:38 +02:00
parent 6f511a5de9
commit 7aa7f4d9e4
181 changed files with 501 additions and 486 deletions

View File

@@ -109,8 +109,10 @@ bool UnnecessaryParen::VisitParenExpr(const ParenExpr* parenExpr)
if (insideConditionalOperator && parenExpr == insideConditionalOperator)
return true;
auto subParenExpr = dyn_cast<ParenExpr>(parenExpr->getSubExpr()->IgnoreImpCasts());
if (subParenExpr) {
auto subExpr = parenExpr->getSubExpr()->IgnoreImpCasts();
if (auto subParenExpr = dyn_cast<ParenExpr>(subExpr))
{
if (subParenExpr->getLocStart().isMacroID())
return true;
report(
@@ -119,8 +121,7 @@ bool UnnecessaryParen::VisitParenExpr(const ParenExpr* parenExpr)
<< parenExpr->getSourceRange();
}
auto declRefExpr = dyn_cast<DeclRefExpr>(parenExpr->getSubExpr()->IgnoreImpCasts());
if (declRefExpr) {
if (auto declRefExpr = dyn_cast<DeclRefExpr>(subExpr)) {
if (declRefExpr->getLocStart().isMacroID())
return true;
@@ -136,6 +137,17 @@ bool UnnecessaryParen::VisitParenExpr(const ParenExpr* parenExpr)
parenExpr->getLocStart())
<< parenExpr->getSourceRange();
}
if (auto cxxNamedCastExpr = dyn_cast<CXXNamedCastExpr>(subExpr)) {
if (cxxNamedCastExpr->getLocStart().isMacroID())
return true;
report(
DiagnosticsEngine::Warning, "unnecessary parentheses around cast",
parenExpr->getLocStart())
<< parenExpr->getSourceRange();
}
return true;
}