From 38642dafb6dd4aed75d70a9409f104c856802e7b Mon Sep 17 00:00:00 2001 From: Stephan Bergmann Date: Tue, 19 Feb 2019 17:38:24 +0100 Subject: [PATCH] Better loplugin:unnecessaryparen check for vexing parse Change-Id: Id7b09a8556da25b81c056d5811ba721e781682d6 Reviewed-on: https://gerrit.libreoffice.org/68025 Tested-by: Jenkins Reviewed-by: Stephan Bergmann --- compilerplugins/clang/unnecessaryparen.cxx | 5 +++-- extensions/source/propctrlr/propertycomposer.cxx | 4 ++-- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/compilerplugins/clang/unnecessaryparen.cxx b/compilerplugins/clang/unnecessaryparen.cxx index a39bcc813a63..287c080afb13 100644 --- a/compilerplugins/clang/unnecessaryparen.cxx +++ b/compilerplugins/clang/unnecessaryparen.cxx @@ -447,8 +447,9 @@ bool UnnecessaryParen::VisitVarDecl(const VarDecl* varDecl) return true; // these two are for "parentheses were disambiguated as a function declaration [-Werror,-Wvexing-parse]" - if (isa(sub) - || isa(sub)) + auto const sub2 = sub->IgnoreImplicit(); + if (isa(sub2) + || isa(sub2)) return true; report( diff --git a/extensions/source/propctrlr/propertycomposer.cxx b/extensions/source/propctrlr/propertycomposer.cxx index 63d4c72790e4..b1997bd79c53 100644 --- a/extensions/source/propctrlr/propertycomposer.cxx +++ b/extensions/source/propctrlr/propertycomposer.cxx @@ -160,7 +160,7 @@ namespace pcr // loop through the secondary sets PropertyState eSecondaryState = PropertyState_DIRECT_VALUE; - for ( HandlerArray::const_iterator loop = ( m_aSlaveHandlers.begin() + 1 ); + for ( HandlerArray::const_iterator loop = m_aSlaveHandlers.begin() + 1; loop != m_aSlaveHandlers.end(); ++loop ) @@ -210,7 +210,7 @@ namespace pcr putIntoBag( (*m_aSlaveHandlers.begin())->getSupportedProperties(), m_aSupportedProperties ); // now intersect with the properties of *all* other handlers - for ( HandlerArray::const_iterator loop = ( m_aSlaveHandlers.begin() + 1 ); + for ( HandlerArray::const_iterator loop = m_aSlaveHandlers.begin() + 1; loop != m_aSlaveHandlers.end(); ++loop )