summaryrefslogtreecommitdiff
path: root/compilerplugins
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2019-09-25 17:26:06 +0200
committerStephan Bergmann <sbergman@redhat.com>2019-09-25 22:14:02 +0200
commit3a7d479c4c852499e8e4e2bc4273f02aec5051be (patch)
treed4425250a7e3ef93c13e9e07ad305c892346fd4f /compilerplugins
parentb2efa7da5b10999d476cfc01341068cfcc8e84c1 (diff)
Improve loplugin:sequenceloop diagnostic advice
"make range var const" sounded to me like it talked about the variable declared in the for-range-declaration, not a variable referenced in the for-range- initializer Change-Id: Ie777e1374ead7f37c8efb022cd87e980d2ee9810 Reviewed-on: https://gerrit.libreoffice.org/79563 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'compilerplugins')
-rw-r--r--compilerplugins/clang/sequenceloop.cxx3
-rw-r--r--compilerplugins/clang/test/sequenceloop.cxx2
2 files changed, 3 insertions, 2 deletions
diff --git a/compilerplugins/clang/sequenceloop.cxx b/compilerplugins/clang/sequenceloop.cxx
index 0e6b23893298..7f14d6c4d951 100644
--- a/compilerplugins/clang/sequenceloop.cxx
+++ b/compilerplugins/clang/sequenceloop.cxx
@@ -64,7 +64,8 @@ bool SequenceLoop::VisitCXXForRangeStmt(CXXForRangeStmt const* forStmt)
return true;
report(DiagnosticsEngine::Warning,
- "use std::as_const, or make range var const, to avoid creating a copy of the Sequence",
+ ("use std::as_const, or otherwise make the for-range-initializer expression const, to"
+ " avoid creating a copy of the Sequence"),
compat::getBeginLoc(forStmt->getRangeInit()))
<< forStmt->getSourceRange();
return true;
diff --git a/compilerplugins/clang/test/sequenceloop.cxx b/compilerplugins/clang/test/sequenceloop.cxx
index 113e8fd588fe..e124fda27093 100644
--- a/compilerplugins/clang/test/sequenceloop.cxx
+++ b/compilerplugins/clang/test/sequenceloop.cxx
@@ -15,7 +15,7 @@ namespace test1
{
void foo(css::uno::Sequence<css::uno::Reference<css::uno::XInterface>>& aSeq)
{
- // expected-error@+1 {{use std::as_const, or make range var const, to avoid creating a copy of the Sequence [loplugin:sequenceloop]}}
+ // expected-error@+1 {{use std::as_const, or otherwise make the for-range-initializer expression const, to avoid creating a copy of the Sequence [loplugin:sequenceloop]}}
for (const auto& x : aSeq)
x.get();
// no warning expected