flx created this revision.
flx added a reviewer: alexfh.
flx added a subscriber: cfe-commits.
flx set the repository for this revision to rL LLVM.
IsExpensiveToCopy can return false positives for incomplete types, so ignore
them.
All existing ClangTidy tests that depend on this function still pass as the
types are complete.
Repository:
rL LLVM
https://reviews.llvm.org/D26195
Files:
clang-tidy/utils/TypeTraits.cpp
Index: clang-tidy/utils/TypeTraits.cpp
===================================================================
--- clang-tidy/utils/TypeTraits.cpp
+++ clang-tidy/utils/TypeTraits.cpp
@@ -41,7 +41,7 @@
llvm::Optional<bool> isExpensiveToCopy(QualType Type,
const ASTContext &Context) {
- if (Type->isDependentType())
+ if (Type->isDependentType() || Type->isIncompleteType())
return llvm::None;
return !Type.isTriviallyCopyableType(Context) &&
!classHasTrivialCopyAndDestroy(Type) &&
Index: clang-tidy/utils/TypeTraits.cpp
===================================================================
--- clang-tidy/utils/TypeTraits.cpp
+++ clang-tidy/utils/TypeTraits.cpp
@@ -41,7 +41,7 @@
llvm::Optional<bool> isExpensiveToCopy(QualType Type,
const ASTContext &Context) {
- if (Type->isDependentType())
+ if (Type->isDependentType() || Type->isIncompleteType())
return llvm::None;
return !Type.isTriviallyCopyableType(Context) &&
!classHasTrivialCopyAndDestroy(Type) &&
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits