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