1 // Test that the C++11 variants of real/imag have an ABI tag 2 // { dg-do compile { target c++11 } } 3 // { dg-require-normal-namespace "" } 4 5 #include <complex> 6 7 // { dg-final { scan-assembler "_ZNKSt7complexIfE4realB5cxx11Ev" } } 8 float (std::complex<float>::*p1)() const = &std::complex<float>::real; 9 // { dg-final { scan-assembler "_ZNKSt7complexIdE4realB5cxx11Ev" } } 10 double (std::complex<double>::*p2)() const = &std::complex<double>::real; 11 // { dg-final { scan-assembler "_ZNKSt7complexI\[eg\]E4realB5cxx11Ev" } } 12 long double (std::complex<long double>::*p3)() const 13 = &std::complex<long double>::real; 14 // { dg-final { scan-assembler "_ZNKSt7complexIiE4realB5cxx11Ev" } } 15 int (std::complex<int>::*p4)() const = &std::complex<int>::real; 16 17 // { dg-final { scan-assembler "_ZNKSt7complexIfE4imagB5cxx11Ev" } } 18 float (std::complex<float>::*p5)() const = &std::complex<float>::imag; 19 // { dg-final { scan-assembler "_ZNKSt7complexIdE4imagB5cxx11Ev" } } 20 double (std::complex<double>::*p6)() const = &std::complex<double>::imag; 21 // { dg-final { scan-assembler "_ZNKSt7complexI\[eg\]E4imagB5cxx11Ev" } } 22 long double (std::complex<long double>::*p7)() const 23 = &std::complex<long double>::imag; 24 // { dg-final { scan-assembler "_ZNKSt7complexIiE4imagB5cxx11Ev" } } 25 int (std::complex<int>::*p8)() const = &std::complex<int>::imag; 26