[Objective-C] Fix __weak type traits with -fobjc-weak
authorBrian Kelley <bkelley@microsoft.com>
Wed, 29 Mar 2017 17:40:35 +0000 (17:40 +0000)
committerBrian Kelley <bkelley@microsoft.com>
Wed, 29 Mar 2017 17:40:35 +0000 (17:40 +0000)
commit93c640b98635c3c6d85cbec19ecaf62e7ddf49ad
tree9c76e41c4add94426061ef2cdda55972898b35d4
parentce539b54e365e237bd33a85d97e72a228d7624ae
[Objective-C] Fix __weak type traits with -fobjc-weak

Summary: Similar to ARC, in ObjCWeak Objective-C object pointers qualified with a weak lifetime are not POD or trivial types. Update the type trait code to reflect this. Copy and adapt the arc-type-traits.mm test case to verify correctness.

Reviewers: rsmith, doug.gregor, rjmccall

Reviewed By: rjmccall

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D31004

llvm-svn: 299010
clang/lib/AST/Type.cpp
clang/lib/Sema/SemaExprCXX.cpp
clang/test/SemaObjCXX/objc-weak-type-traits.mm [new file with mode: 0644]