File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed
libcxx/test/std/numerics/complex.number/complex Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change
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
+ // ===----------------------------------------------------------------------===//
8
+
9
+ // UNSUPPORTED: c++03, c++11, c++14, c++17
10
+
11
+ // Make sure that std::bit_cast works with std::complex. Test case extracted from
12
+ // https://github.com/llvm/llvm-project/issues/94620.
13
+
14
+ #include < bit>
15
+ #include < complex>
16
+
17
+ template <class T >
18
+ constexpr void test () {
19
+ using Complex = std::complex<T>;
20
+ unsigned char data[sizeof (Complex)] = {0 };
21
+
22
+ [[maybe_unused]] Complex c = std::bit_cast<Complex>(data);
23
+ }
24
+
25
+ constexpr bool test_all () {
26
+ test<float >();
27
+ test<double >();
28
+ test<long double >();
29
+ return true ;
30
+ }
31
+
32
+ int main (int , char **) {
33
+ test_all ();
34
+ static_assert (test_all ());
35
+ return 0 ;
36
+ }
You can’t perform that action at this time.
0 commit comments