Restrict loplugin:constparams cast-to-void check
Change-Id: I3c4d4f99b423f46136a79f3b06c5f0e1492872f1
diff --git a/compilerplugins/clang/constparams.cxx b/compilerplugins/clang/constparams.cxx
index 0aec1e3..9c2263c8 100644
--- a/compilerplugins/clang/constparams.cxx
+++ b/compilerplugins/clang/constparams.cxx
@@ -425,7 +425,13 @@ bool ConstParams::checkIfCanBeConst(const Stmt* stmt, const ParmVarDecl* parmVar
return false;
}
if (loplugin::TypeCheck(t).Void()) {
return false;
if (auto const sub = dyn_cast<DeclRefExpr>(
e->getSubExpr()->IgnoreParenImpCasts()))
{
if (sub->getDecl() == parmVarDecl) {
return false;
}
}
}
}
return checkIfCanBeConst(parent, parmVarDecl);