From 4082b5874adddedf8332fe977b6bb47b6949b302 Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Thu, 31 Aug 2017 11:23:26 +0200 Subject: [PATCH] Restrict loplugin:constparams cast-to-void check Change-Id: I3c4d4f99b423f46136a79f3b06c5f0e1492872f1 --- compilerplugins/clang/constparams.cxx | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/compilerplugins/clang/constparams.cxx b/compilerplugins/clang/constparams.cxx index 0aec1e3d82c2..9c2263c87453 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( + e->getSubExpr()->IgnoreParenImpCasts())) + { + if (sub->getDecl() == parmVarDecl) { + return false; + } + } } } return checkIfCanBeConst(parent, parmVarDecl);