[libc++] (Take 2) Correctly handle Objective-C++ ARC qualifiers in std::is_pointer
authorLouis Dionne <ldionne@apple.com>
Wed, 3 Apr 2019 14:29:52 +0000 (14:29 +0000)
committerLouis Dionne <ldionne@apple.com>
Wed, 3 Apr 2019 14:29:52 +0000 (14:29 +0000)
commit3b8c90b80d46897c22ade3f7a9419344e4d040a7
tree84df29c5e443702930378c9e88348bc5667db3d7
parent6911ff562fc685136c8e4b8ed4bc6cce059ab2e5
[libc++] (Take 2) Correctly handle Objective-C++ ARC qualifiers in std::is_pointer

Summary:
Otherwise, std::is_pointer<id __strong> works, but std::is_pointer<id __weak>
(and others) don't work as expected.

The previous patch (r357517) had to be reverted in r357569 because it
broke the Chromium build. This patch shouldn't have the same problem.

rdar://problem/49126333

Reviewers: ahatanak, EricWF

Subscribers: christof, jkorous, dexonsmith, libcxx-commits

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

llvm-svn: 357586
libcxx/include/type_traits
libcxx/test/libcxx/type_traits/is_pointer.arc.pass.mm [new file with mode: 0644]