Fix C++03 build breakage
authorEric Fiselier <eric@efcs.ca>
Fri, 22 Apr 2016 00:47:15 +0000 (00:47 +0000)
committerEric Fiselier <eric@efcs.ca>
Fri, 22 Apr 2016 00:47:15 +0000 (00:47 +0000)
llvm-svn: 267090

libcxx/test/std/containers/sequences/array/array.special/swap.pass.cpp

index d8532d7..413f291 100644 (file)
@@ -64,9 +64,7 @@ int main()
     }
     {
         typedef NonSwappable T;
-        typedef std::array<T, 42> C1;
         typedef std::array<T, 0> C0;
-        static_assert(!can_swap<C1&>::value, "");
         static_assert(can_swap<C0&>::value, "");
         C0 l = {};
         C0 r = {};
@@ -75,4 +73,13 @@ int main()
         static_assert(noexcept(swap(l, r)), "");
 #endif
     }
+#if TEST_STD_VER >= 11
+    {
+        // NonSwappable is still considered swappable in C++03 because there
+        // is no access control SFINAE.
+        typedef NonSwappable T;
+        typedef std::array<T, 42> C1;
+        static_assert(!can_swap<C1&>::value, "");
+    }
+#endif
 }