Fix C++03 build breakage

llvm-svn: 267090
This commit is contained in:
Eric Fiselier 2016-04-22 00:47:15 +00:00
parent 379609329d
commit b7f045fc7d
1 changed files with 9 additions and 2 deletions

View 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
}