[SimplifyCFG] Always allow hoisting if all instructions match. (#97158)
[llvm-project.git] / libcxx / test / std / numerics / complex.number / complex.special / double_long_double_explicit.pass.cpp
blob751b3b851ea34bec8b63fcf4a41a1fdb1f4b53be
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 // <complex>
11 // template<> class complex<double>
12 // {
13 // public:
14 // explicit constexpr complex(const complex<long double>&);
15 // };
17 #include <complex>
18 #include <cassert>
20 #include "test_macros.h"
22 int main(int, char**)
25 const std::complex<long double> cd(2.5, 3.5);
26 std::complex<double> cf(cd);
27 assert(cf.real() == cd.real());
28 assert(cf.imag() == cd.imag());
30 #if TEST_STD_VER >= 11
32 constexpr std::complex<long double> cd(2.5, 3.5);
33 constexpr std::complex<double> cf(cd);
34 static_assert(cf.real() == cd.real(), "");
35 static_assert(cf.imag() == cd.imag(), "");
37 #endif
39 return 0;