summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-02-19 17:38:24 +0100
committerStephan Bergmann <sbergman@redhat.com>2019-02-19 20:32:00 +0100
commit38642dafb6dd4aed75d70a9409f104c856802e7b (patch)
tree562a697dd5666c1727fd0497415866c405f3c070
parent87d46dc80a607ea66e52c3dc81dea20fd4fe07f8 (diff)
Better loplugin:unnecessaryparen check for vexing parse
Change-Id: Id7b09a8556da25b81c056d5811ba721e781682d6 Reviewed-on: https://gerrit.libreoffice.org/68025 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
-rw-r--r--compilerplugins/clang/unnecessaryparen.cxx5
-rw-r--r--extensions/source/propctrlr/propertycomposer.cxx4
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<CXXBindTemporaryExpr>(sub)
- || isa<CXXFunctionalCastExpr>(sub))
+ auto const sub2 = sub->IgnoreImplicit();
+ if (isa<CXXTemporaryObjectExpr>(sub2)
+ || isa<CXXFunctionalCastExpr>(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
)