[OffloadBundler] Compress bundles over 4GB (#122307)
[llvm-project.git] / libcxx / test / std / numerics / complex.number / complex / bit_cast.pass.cpp
blobc35d4d6c6329553c0820e9b32eca8bfacb773ea4
1 //===----------------------------------------------------------------------===//
2 //
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
6 //
7 //===----------------------------------------------------------------------===//
9 // UNSUPPORTED: c++03, c++11, c++14, c++17
11 // Make sure that std::bit_cast works with std::complex. Test case extracted from
12 // https://github.com/llvm/llvm-project/issues/94620.
14 #include <bit>
15 #include <complex>
17 template <class T>
18 constexpr void test() {
19 using Complex = std::complex<T>;
20 unsigned char data[sizeof(Complex)] = {0};
22 [[maybe_unused]] Complex c = std::bit_cast<Complex>(data);
25 constexpr bool test_all() {
26 test<float>();
27 test<double>();
28 test<long double>();
29 return true;
32 int main(int, char**) {
33 test_all();
34 static_assert(test_all());
35 return 0;