summaryrefslogtreecommitdiff
path: root/compilerplugins
diff options
context:
space:
mode:
authorStephan Bergmann <sbergman@redhat.com>2017-12-10 23:18:17 +0100
committerStephan Bergmann <sbergman@redhat.com>2017-12-11 10:44:08 +0100
commit492afb35b4fbec18be5e2695ea747e8fac50b890 (patch)
tree4e4de02dd5df664d43a2a66ad7c1bcb3f0ef1538 /compilerplugins
parente1bd0dd9966c0d525477443bc54c1d2bd6f7d30f (diff)
Improve loplugin:salcall error reporting
Change-Id: I214052491e90eb4147bf79d6fd3927266638c686 Reviewed-on: https://gerrit.libreoffice.org/46203 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Stephan Bergmann <sbergman@redhat.com>
Diffstat (limited to 'compilerplugins')
-rw-r--r--compilerplugins/clang/salcall.cxx7
-rw-r--r--compilerplugins/clang/test/salcall.cxx12
2 files changed, 9 insertions, 10 deletions
diff --git a/compilerplugins/clang/salcall.cxx b/compilerplugins/clang/salcall.cxx
index 3b291cb79f56..250994c07f5e 100644
--- a/compilerplugins/clang/salcall.cxx
+++ b/compilerplugins/clang/salcall.cxx
@@ -191,11 +191,10 @@ bool SalCall::VisitFunctionDecl(FunctionDecl const* decl)
else if (bDeclIsSalCall)
{
// not fine
- report(DiagnosticsEngine::Warning, "SAL_CALL inconsistency",
- canonicalDecl->getLocation())
- << canonicalDecl->getSourceRange();
- report(DiagnosticsEngine::Note, "SAL_CALL inconsistency", decl->getLocation())
+ report(DiagnosticsEngine::Warning, "SAL_CALL inconsistency", decl->getLocation())
<< decl->getSourceRange();
+ report(DiagnosticsEngine::Note, "SAL_CALL inconsistency", canonicalDecl->getLocation())
+ << canonicalDecl->getSourceRange();
return true;
}
}
diff --git a/compilerplugins/clang/test/salcall.cxx b/compilerplugins/clang/test/salcall.cxx
index 736bb27a3b6a..99995a30fb0f 100644
--- a/compilerplugins/clang/test/salcall.cxx
+++ b/compilerplugins/clang/test/salcall.cxx
@@ -31,9 +31,9 @@ void SAL_CALL Class1::method1()
class Class2
{
- void method1(); // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}}
+ void method1(); // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}}
};
-void SAL_CALL Class2::method1() {} // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}}
+void SAL_CALL Class2::method1() {} // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}}
// comment this out because it seems to generate a warning in some internal buffer of clang that I can't annotate
#if 0
@@ -120,12 +120,12 @@ class Class8_3 : public Class8_1, public Class8_2
#define M1(m) void m
class Class9
{
- M1(method1)(); // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}}
- void method2(); // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}}
+ M1(method1)(); // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}}
+ void method2(); // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}}
};
-void SAL_CALL Class9::method1() {} // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}}
+void SAL_CALL Class9::method1() {} // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}}
#define M2(T) T SAL_CALL
-M2(void) Class9::method2() {} // expected-note {{SAL_CALL inconsistency [loplugin:salcall]}}
+M2(void) Class9::method2() {} // expected-error {{SAL_CALL inconsistency [loplugin:salcall]}}
#if 0 // see TODO in SalCall::isSalCallFunction
class Class10