forked from OSchip/llvm-project
[clang-tidy] Exclude forward decls from fuchsia-multiple-inheritance
Addresses b39770. Differential Revision: https://reviews.llvm.org/D64813 llvm-svn: 366354
This commit is contained in:
parent
b53e13cd43
commit
337aea438c
|
@ -93,7 +93,8 @@ void MultipleInheritanceCheck::registerMatchers(MatchFinder *Finder) {
|
|||
return;
|
||||
|
||||
// Match declarations which have bases.
|
||||
Finder->addMatcher(cxxRecordDecl(hasBases()).bind("decl"), this);
|
||||
Finder->addMatcher(
|
||||
cxxRecordDecl(allOf(hasBases(), isDefinition())).bind("decl"), this);
|
||||
}
|
||||
|
||||
void MultipleInheritanceCheck::check(const MatchFinder::MatchResult &Result) {
|
||||
|
|
|
@ -41,6 +41,9 @@ public:
|
|||
virtual int baz() = 0;
|
||||
};
|
||||
|
||||
// Shouldn't warn on forward declarations.
|
||||
class Bad_Child1;
|
||||
|
||||
// Inherits from multiple concrete classes.
|
||||
// CHECK-MESSAGES: [[@LINE+2]]:1: warning: inheriting mulitple classes that aren't pure virtual is discouraged [fuchsia-multiple-inheritance]
|
||||
// CHECK-NEXT: class Bad_Child1 : public Base_A, Base_B {};
|
||||
|
|
Loading…
Reference in New Issue