aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2024-01-30 12:07:21 -0500
committerJason Merrill <jason@redhat.com>2024-01-30 12:09:47 -0500
commit209fc1e5f6c67e55e579b69f617b0b678b1bfdf0 (patch)
tree1b0e68ab81886f08f4156eeee1260095e6afb395 /gcc
parentdd7aa986fd12fc24e9d2efb8a8b267acb2bf19ea (diff)
downloadgcc-209fc1e5f6c67e55e579b69f617b0b678b1bfdf0.zip
gcc-209fc1e5f6c67e55e579b69f617b0b678b1bfdf0.tar.gz
gcc-209fc1e5f6c67e55e579b69f617b0b678b1bfdf0.tar.bz2
testsuite: fix anon6 mangling [PR112846]
As with r14-6796-g2fa122cae50cd8, avoid mangling compatibility aliases in mangling tests, and test the new mangling. PR c++/112846 gcc/testsuite/ChangeLog: * g++.dg/abi/anon6.C: Specify ABI v18. * g++.dg/abi/anon6a.C: New test for ABI v19.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.dg/abi/anon6.C1
-rw-r--r--gcc/testsuite/g++.dg/abi/anon6a.C20
2 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/abi/anon6.C b/gcc/testsuite/g++.dg/abi/anon6.C
index 7be0b0b..fd76610 100644
--- a/gcc/testsuite/g++.dg/abi/anon6.C
+++ b/gcc/testsuite/g++.dg/abi/anon6.C
@@ -1,5 +1,6 @@
// PR c++/108566
// { dg-do compile { target c++20 } }
+// { dg-additional-options "-fabi-version=18 -fabi-compat-version=18" }
template<typename T>
struct wrapper1 {
diff --git a/gcc/testsuite/g++.dg/abi/anon6a.C b/gcc/testsuite/g++.dg/abi/anon6a.C
new file mode 100644
index 0000000..69c9adb
--- /dev/null
+++ b/gcc/testsuite/g++.dg/abi/anon6a.C
@@ -0,0 +1,20 @@
+// PR c++/108566
+// { dg-do compile { target c++20 } }
+// { dg-additional-options "-fabi-compat-version=0" }
+
+template<typename T>
+struct wrapper1 {
+ union {
+ union {
+ T RightName;
+ };
+ };
+};
+
+template<auto tparam> void dummy(){}
+
+void uses() {
+ dummy<wrapper1<double>{123.0}>();
+}
+
+// { dg-final { scan-assembler "_Z5dummyITnDaXtl8wrapper1IdEtlNS1_Ut_Edi9RightNametlNS2_Ut_Edi9RightNameLd405ec00000000000EEEEEEvv" } }