aboutsummaryrefslogtreecommitdiff
path: root/libstdc++-v3/testsuite/26_numerics
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2012-11-12 12:51:26 -0500
committerJason Merrill <jason@gcc.gnu.org>2012-11-12 12:51:26 -0500
commit7a3a9e6821ff5ed3e6f41e58d1d47bbbbd4e3e2b (patch)
tree9d03c6c760c0b202a6f73035ff95c1763e7801ce /libstdc++-v3/testsuite/26_numerics
parent132a1a23e66a62ab31f33c4fca10fadad9a4f05e (diff)
downloadgcc-7a3a9e6821ff5ed3e6f41e58d1d47bbbbd4e3e2b.zip
gcc-7a3a9e6821ff5ed3e6f41e58d1d47bbbbd4e3e2b.tar.gz
gcc-7a3a9e6821ff5ed3e6f41e58d1d47bbbbd4e3e2b.tar.bz2
* include/std/complex (real, imag): Add ABI tag in C++11 mode.
From-SVN: r193445
Diffstat (limited to 'libstdc++-v3/testsuite/26_numerics')
-rw-r--r--libstdc++-v3/testsuite/26_numerics/complex/abi_tag.cc25
1 files changed, 25 insertions, 0 deletions
diff --git a/libstdc++-v3/testsuite/26_numerics/complex/abi_tag.cc b/libstdc++-v3/testsuite/26_numerics/complex/abi_tag.cc
new file mode 100644
index 0000000..a845466
--- /dev/null
+++ b/libstdc++-v3/testsuite/26_numerics/complex/abi_tag.cc
@@ -0,0 +1,25 @@
+// Test that the C++11 variants of real/imag have an ABI tag
+// { dg-do compile }
+// { dg-options -std=c++11 }
+
+#include <complex>
+
+// { dg-final { scan-assembler "_ZNKSt7complexIfE4realB5cxx11Ev" } }
+float (std::complex<float>::*p1)() const = &std::complex<float>::real;
+// { dg-final { scan-assembler "_ZNKSt7complexIdE4realB5cxx11Ev" } }
+double (std::complex<double>::*p2)() const = &std::complex<double>::real;
+// { dg-final { scan-assembler "_ZNKSt7complexIeE4realB5cxx11Ev" } }
+long double (std::complex<long double>::*p3)() const
+ = &std::complex<long double>::real;
+// { dg-final { scan-assembler "_ZNKSt7complexIiE4realB5cxx11Ev" } }
+int (std::complex<int>::*p4)() const = &std::complex<int>::real;
+
+// { dg-final { scan-assembler "_ZNKSt7complexIfE4imagB5cxx11Ev" } }
+float (std::complex<float>::*p5)() const = &std::complex<float>::imag;
+// { dg-final { scan-assembler "_ZNKSt7complexIdE4imagB5cxx11Ev" } }
+double (std::complex<double>::*p6)() const = &std::complex<double>::imag;
+// { dg-final { scan-assembler "_ZNKSt7complexIeE4imagB5cxx11Ev" } }
+long double (std::complex<long double>::*p7)() const
+ = &std::complex<long double>::imag;
+// { dg-final { scan-assembler "_ZNKSt7complexIiE4imagB5cxx11Ev" } }
+int (std::complex<int>::*p8)() const = &std::complex<int>::imag;