forked from OSchip/llvm-project
Fix isTriviallyCopyableType for arrays
Fix isTriviallyCopyableType for arrays. An array of type T is trivially copyable if T is trivially copyable. Patch by Agustín Bergé! llvm-svn: 226696
This commit is contained in:
parent
2136ace961
commit
97a01f0161
|
@ -1089,7 +1089,7 @@ bool QualType::isTrivialType(ASTContext &Context) const {
|
|||
|
||||
bool QualType::isTriviallyCopyableType(ASTContext &Context) const {
|
||||
if ((*this)->isArrayType())
|
||||
return Context.getBaseElementType(*this).isTrivialType(Context);
|
||||
return Context.getBaseElementType(*this).isTriviallyCopyableType(Context);
|
||||
|
||||
if (Context.getLangOpts().ObjCAutoRefCount) {
|
||||
switch (getObjCLifetime()) {
|
||||
|
|
|
@ -1857,6 +1857,9 @@ void trivial_checks()
|
|||
{ int arr[T(__is_trivially_copyable(HasNonPOD))]; }
|
||||
{ int arr[T(__is_trivially_copyable(DerivesHasCons))]; }
|
||||
{ int arr[T(__is_trivially_copyable(DerivesHasRef))]; }
|
||||
{ int arr[T(__is_trivially_copyable(NonTrivialDefault))]; }
|
||||
{ int arr[T(__is_trivially_copyable(NonTrivialDefault[]))]; }
|
||||
{ int arr[T(__is_trivially_copyable(NonTrivialDefault[3]))]; }
|
||||
|
||||
{ int arr[F(__is_trivially_copyable(HasCopyAssign))]; }
|
||||
{ int arr[F(__is_trivially_copyable(HasMoveAssign))]; }
|
||||
|
|
Loading…
Reference in New Issue