diff options
Diffstat (limited to 'clang/lib/AST/Type.cpp')
-rw-r--r-- | clang/lib/AST/Type.cpp | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/clang/lib/AST/Type.cpp b/clang/lib/AST/Type.cpp index 7ffed14..a1b1757 100644 --- a/clang/lib/AST/Type.cpp +++ b/clang/lib/AST/Type.cpp @@ -2672,6 +2672,9 @@ HasNonDeletedDefaultedEqualityComparison(const CXXRecordDecl *Decl) { }) && llvm::all_of(Decl->fields(), [](const FieldDecl *FD) { auto Type = FD->getType(); + if (Type->isArrayType()) + Type = Type->getBaseElementTypeUnsafe()->getCanonicalTypeUnqualified(); + if (Type->isReferenceType() || Type->isEnumeralType()) return false; if (const auto *RD = Type->getAsCXXRecordDecl()) |