summaryrefslogtreecommitdiffstats
path: root/libcxx/test
diff options
context:
space:
mode:
authorMarshall Clow <mclow.lists@gmail.com>2016-02-22 22:13:03 +0000
committerMarshall Clow <mclow.lists@gmail.com>2016-02-22 22:13:03 +0000
commit9b4880e7ecafafcbd8ca749f5985df31340e075f (patch)
treed030bf9a37949a88b47cf4e833e24aa26218c810 /libcxx/test
parent0c6bd7b0d31510225e195cc440234e4cf6bea29f (diff)
downloadbcm5719-llvm-9b4880e7ecafafcbd8ca749f5985df31340e075f.tar.gz
bcm5719-llvm-9b4880e7ecafafcbd8ca749f5985df31340e075f.zip
Fix __is_referenceable to work with vector types. Fixes PR#26654 and 26656. Thanks to Evgeniy for the reports, and to Eric for the suggestion on how to fix it.
llvm-svn: 261581
Diffstat (limited to 'libcxx/test')
-rw-r--r--libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp b/libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp
index f42011d954f..dd31ab5a33d 100644
--- a/libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp
+++ b/libcxx/test/libcxx/utilities/meta/is_referenceable.pass.cpp
@@ -39,6 +39,11 @@ static_assert(( std::__is_referenceable<Foo &&>::value), "");
static_assert(( std::__is_referenceable<const Foo &&>::value), "");
#endif
+static_assert(( std::__is_referenceable<int __attribute__((__vector_size__( 8)))>::value), "");
+static_assert(( std::__is_referenceable<const int __attribute__((__vector_size__( 8)))>::value), "");
+static_assert(( std::__is_referenceable<float __attribute__((__vector_size__(16)))>::value), "");
+static_assert(( std::__is_referenceable<const float __attribute__((__vector_size__(16)))>::value), "");
+
// Functions without cv-qualifiers are referenceable
static_assert(( std::__is_referenceable<void ()>::value), "");
#if TEST_STD_VER >= 11
OpenPOWER on IntegriCloud