diff options
| author | Dimitry Andric <dimitry@andric.com> | 2016-10-12 20:26:47 +0000 |
|---|---|---|
| committer | Dimitry Andric <dimitry@andric.com> | 2016-10-12 20:26:47 +0000 |
| commit | ca2ab4f657cfe0c4748baafc7fb4035f0a5fd958 (patch) | |
| tree | cc283bdc01418c3ab8be484d8bf8c884183bf70f /libcxx/test | |
| parent | e549894b7d57131940bc0964d681be0eb1990104 (diff) | |
| download | bcm5719-llvm-ca2ab4f657cfe0c4748baafc7fb4035f0a5fd958.tar.gz bcm5719-llvm-ca2ab4f657cfe0c4748baafc7fb4035f0a5fd958.zip | |
Disable trivial pair copy/move tests when unsupported
Summary:
On FreeBSD, for ABI compatibility reasons, the pair trivial copy
constructor is disabled, using the aptly-named
`_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR` define.
Disable the related tests when this define is on, so they don't fail
unexpectedly.
Reviewers: emaste, rsmith, theraven, EricWF
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25449
llvm-svn: 284047
Diffstat (limited to 'libcxx/test')
| -rw-r--r-- | libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp b/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp index 53cf56700df..200f044c635 100644 --- a/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp +++ b/libcxx/test/std/utilities/utility/pairs/pairs.pair/trivial_copy_move.pass.cpp @@ -32,19 +32,25 @@ int main() typedef std::pair<int, short> P; { static_assert(std::is_copy_constructible<P>::value, ""); +#if !defined(_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR) static_assert(std::is_trivially_copy_constructible<P>::value, ""); +#endif } #if TEST_STD_VER >= 11 { static_assert(std::is_move_constructible<P>::value, ""); +#if !defined(_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR) static_assert(std::is_trivially_move_constructible<P>::value, ""); +#endif } { using P1 = std::pair<Dummy, int>; static_assert(!std::is_copy_constructible<P1>::value, ""); static_assert(!std::is_trivially_copy_constructible<P1>::value, ""); static_assert(std::is_move_constructible<P1>::value, ""); +#if !defined(_LIBCPP_DEPRECATED_ABI_DISABLE_PAIR_TRIVIAL_COPY_CTOR) static_assert(std::is_trivially_move_constructible<P1>::value, ""); +#endif } #endif } |

