[PATCH] D44295: Detects and fixes calls to grand-...parent virtual methods instead of calls to parent's virtual methods

Zinovy Nis via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 9 02:15:59 PST 2018


zinovy.nis created this revision.
zinovy.nis added reviewers: klimek, alexfh.
zinovy.nis added a project: clang-tools-extra.
Herald added a subscriber: mgorny.

Warns if one calls grand-..parent's virtual method in child's virtual method instead of parent's. Can automatically fix such cases by retargeting calls to parent.

class A {
... 
int virtual foo() {...}
}

class B: public A {
int foo() override {...}
}

class C: public B {
...
int foo() override {... A::foo()...} // will be replaced with "...B::foo()..."
}


Repository:
  rCTE Clang Tools Extra

https://reviews.llvm.org/D44295

Files:
  clang-tidy/bugprone/BugproneTidyModule.cpp
  clang-tidy/bugprone/CMakeLists.txt
  clang-tidy/bugprone/ParentVirtualCallCheck.cpp
  clang-tidy/bugprone/ParentVirtualCallCheck.h
  docs/ReleaseNotes.rst
  docs/clang-tidy/checks/bugprone-parent-virtual-call.rst
  docs/clang-tidy/checks/list.rst
  test/clang-tidy/bugprone-parent-virtual-call.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D44295.137708.patch
Type: text/x-patch
Size: 14019 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180309/cb097c21/attachment.bin>


More information about the cfe-commits mailing list