[Libreoffice-commits] .: 2 commits - compilerplugins/clang
Libreoffice Gerrit user
logerrit at kemper.freedesktop.org
Fri Oct 12 04:11:33 PDT 2012
compilerplugins/clang/unusedvariablecheck.cxx | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
New commits:
commit d1eee073ebcd2d4a99209bb12ab13a7cafbb5a89
Author: LuboÅ¡ LuÅák <l.lunak at suse.cz>
Date: Fri Oct 12 13:09:08 2012 +0200
avoid crash on pointers to functions
Clang's dyn_cast<> crashes on NULL, and getParentFunctionOrMethod() is NULL
if the parameter is a part of a pointer-to-function declaration.
Change-Id: Iee9eef488746f9a46bc090df8d318f27ad65f0ef
diff --git a/compilerplugins/clang/unusedvariablecheck.cxx b/compilerplugins/clang/unusedvariablecheck.cxx
index 65cac75..7d9a170 100644
--- a/compilerplugins/clang/unusedvariablecheck.cxx
+++ b/compilerplugins/clang/unusedvariablecheck.cxx
@@ -83,7 +83,7 @@ bool UnusedVariableCheck::VisitNamedDecl( NamedDecl* declaration )
return true; // unnamed parameter -> unused
// If this declaration does not have a body, then the parameter is indeed not used,
// so ignore.
- if( const FunctionDecl* func = dyn_cast< FunctionDecl >( param->getParentFunctionOrMethod()))
+ if( const FunctionDecl* func = dyn_cast_or_null< FunctionDecl >( param->getParentFunctionOrMethod()))
if( !func->doesThisDeclarationHaveABody())
return true;
report( DiagnosticsEngine::Warning, "unused parameter %0 [loplugin]",
commit 9c0304f5a725ad0a58afecb96862ecd298ffec06
Author: LuboÅ¡ LuÅák <l.lunak at suse.cz>
Date: Fri Oct 12 12:59:31 2012 +0200
do not report unnamed parameters as unused
Change-Id: I0cc44354085fbee15aa94d23c29830fd40e8d939
diff --git a/compilerplugins/clang/unusedvariablecheck.cxx b/compilerplugins/clang/unusedvariablecheck.cxx
index f291632..65cac75 100644
--- a/compilerplugins/clang/unusedvariablecheck.cxx
+++ b/compilerplugins/clang/unusedvariablecheck.cxx
@@ -79,6 +79,8 @@ bool UnusedVariableCheck::VisitNamedDecl( NamedDecl* declaration )
{
if( const ParmVarDecl* param = dyn_cast< ParmVarDecl >( var ))
{
+ if( !param->getDeclName())
+ return true; // unnamed parameter -> unused
// If this declaration does not have a body, then the parameter is indeed not used,
// so ignore.
if( const FunctionDecl* func = dyn_cast< FunctionDecl >( param->getParentFunctionOrMethod()))
More information about the Libreoffice-commits
mailing list