diff options
Diffstat (limited to 'clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp')
| -rw-r--r-- | clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp b/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp index 40fd15c08f0a..6508bfd5ca80 100644 --- a/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp +++ b/clang-tools-extra/clang-tidy/cppcoreguidelines/SlicingCheck.cpp @@ -90,9 +90,8 @@ void SlicingCheck::diagnoseSlicedOverriddenMethods( } // Recursively process bases. for (const auto &Base : DerivedDecl.bases()) { - if (const auto *BaseRecordType = Base.getType()->getAs<RecordType>()) { - if (const auto *BaseRecord = cast_or_null<CXXRecordDecl>( - BaseRecordType->getOriginalDecl()->getDefinition())) + if (const auto *BaseRecord = Base.getType()->getAsCXXRecordDecl()) { + if (BaseRecord->isCompleteDefinition()) diagnoseSlicedOverriddenMethods(Call, *BaseRecord, BaseDecl); } } |
