Kaydet (Commit) 07ad18ed authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Silence loplugin:staticaccess in Windows ATL macros (clang-cl)

Change-Id: I18cde30e132b8209d189e9438b49a1c3e5a36672
Reviewed-on: https://gerrit.libreoffice.org/57997
Tested-by: Jenkins
Reviewed-by: 's avatarStephan Bergmann <sbergman@redhat.com>
üst ebdb7b7c
...@@ -64,6 +64,22 @@ bool StaticAccess::VisitMemberExpr(MemberExpr const * expr) { ...@@ -64,6 +64,22 @@ bool StaticAccess::VisitMemberExpr(MemberExpr const * expr) {
if (!isStatic(decl, &me)) { if (!isStatic(decl, &me)) {
return true; return true;
} }
auto const loc = expr->getExprLoc();
if (compiler.getSourceManager().isMacroBodyExpansion(loc)) {
auto const name = Lexer::getImmediateMacroName(
loc, compiler.getSourceManager(), compiler.getLangOpts());
if (name == "BEGIN_COM_MAP" || name == "DEFAULT_REFLECTION_HANDLER") {
// .../VC/Tools/MSVC/14.14.26428/atlmfc/include\atlcom.h(2226,10): note: expanded from
// macro 'BEGIN_COM_MAP'
// return this->InternalQueryInterface(this, _GetEntries(), iid, ppvObject);
// ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
// .../VC/Tools/MSVC/14.14.26428/atlmfc/include\atlwin.h(2890,5): note: expanded from
// macro 'DEFAULT_REFLECTION_HANDLER'
// if(this->DefaultReflectionHandler(hWnd, uMsg, wParam, lParam, lResult))
// ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
return true;
}
}
report( report(
DiagnosticsEngine::Warning, DiagnosticsEngine::Warning,
("accessing %select{static class member|member enumerator}0 through" ("accessing %select{static class member|member enumerator}0 through"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment