diff options
author | Jason Merrill <jason@redhat.com> | 2023-12-21 16:16:37 -0500 |
---|---|---|
committer | Jason Merrill <jason@redhat.com> | 2023-12-21 19:19:34 -0500 |
commit | 2fa122cae50cd87c1262c4ec18a783ee9bbbdaaa (patch) | |
tree | 943aaf5e6ba4e7cc095356540af84a62bd3c2fbf /gcc | |
parent | cdfaa4aa52752e55d27bb068b6de933d17b176d3 (diff) | |
download | gcc-2fa122cae50cd87c1262c4ec18a783ee9bbbdaaa.zip gcc-2fa122cae50cd87c1262c4ec18a783ee9bbbdaaa.tar.gz gcc-2fa122cae50cd87c1262c4ec18a783ee9bbbdaaa.tar.bz2 |
testsuite: suppress mangling compatibility aliases
Recently a mangling test failed on a target with no mangling alias support
because I hadn't updated the expected mangling, but it was still passing on
x86_64-pc-linux-gnu because of the alias for the old mangling. So let's
avoid these aliases in mangling tests.
gcc/testsuite/ChangeLog:
* g++.dg/abi/mangle-arm-crypto.C: Specify -fabi-compat-version.
* g++.dg/abi/mangle-concepts1.C
* g++.dg/abi/mangle-neon-aarch64.C
* g++.dg/abi/mangle-neon.C
* g++.dg/abi/mangle-regparm.C
* g++.dg/abi/mangle-regparm1a.C
* g++.dg/abi/mangle-ttp1.C
* g++.dg/abi/mangle-union1.C
* g++.dg/abi/mangle1.C
* g++.dg/abi/mangle13.C
* g++.dg/abi/mangle15.C
* g++.dg/abi/mangle16.C
* g++.dg/abi/mangle18-1.C
* g++.dg/abi/mangle19-1.C
* g++.dg/abi/mangle20-1.C
* g++.dg/abi/mangle22.C
* g++.dg/abi/mangle23.C
* g++.dg/abi/mangle24.C
* g++.dg/abi/mangle25.C
* g++.dg/abi/mangle26.C
* g++.dg/abi/mangle27.C
* g++.dg/abi/mangle28.C
* g++.dg/abi/mangle29.C
* g++.dg/abi/mangle3-2.C
* g++.dg/abi/mangle3.C
* g++.dg/abi/mangle30.C
* g++.dg/abi/mangle31.C
* g++.dg/abi/mangle32.C
* g++.dg/abi/mangle33.C
* g++.dg/abi/mangle34.C
* g++.dg/abi/mangle35.C
* g++.dg/abi/mangle36.C
* g++.dg/abi/mangle37.C
* g++.dg/abi/mangle39.C
* g++.dg/abi/mangle40.C
* g++.dg/abi/mangle43.C
* g++.dg/abi/mangle44.C
* g++.dg/abi/mangle45.C
* g++.dg/abi/mangle46.C
* g++.dg/abi/mangle47.C
* g++.dg/abi/mangle48.C
* g++.dg/abi/mangle49.C
* g++.dg/abi/mangle5.C
* g++.dg/abi/mangle50.C
* g++.dg/abi/mangle51.C
* g++.dg/abi/mangle52.C
* g++.dg/abi/mangle53.C
* g++.dg/abi/mangle54.C
* g++.dg/abi/mangle55.C
* g++.dg/abi/mangle56.C
* g++.dg/abi/mangle57.C
* g++.dg/abi/mangle58.C
* g++.dg/abi/mangle59.C
* g++.dg/abi/mangle6.C
* g++.dg/abi/mangle60.C
* g++.dg/abi/mangle61.C
* g++.dg/abi/mangle62.C
* g++.dg/abi/mangle62a.C
* g++.dg/abi/mangle63.C
* g++.dg/abi/mangle64.C
* g++.dg/abi/mangle65.C
* g++.dg/abi/mangle66.C
* g++.dg/abi/mangle68.C
* g++.dg/abi/mangle69.C
* g++.dg/abi/mangle7.C
* g++.dg/abi/mangle70.C
* g++.dg/abi/mangle71.C
* g++.dg/abi/mangle72.C
* g++.dg/abi/mangle73.C
* g++.dg/abi/mangle74.C
* g++.dg/abi/mangle75.C
* g++.dg/abi/mangle76.C
* g++.dg/abi/mangle77.C
* g++.dg/abi/mangle78.C
* g++.dg/abi/mangle8.C
* g++.dg/abi/mangle9.C: Likewise.
Diffstat (limited to 'gcc')
76 files changed, 76 insertions, 40 deletions
diff --git a/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C b/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C index f3fb1a9..1d3f832 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C +++ b/gcc/testsuite/g++.dg/abi/mangle-arm-crypto.C @@ -4,6 +4,7 @@ // { dg-do compile } // { dg-require-effective-target arm_crypto_ok } // { dg-add-options arm_crypto } +// { dg-additional-options -fabi-compat-version=0 } #include <arm_neon.h> diff --git a/gcc/testsuite/g++.dg/abi/mangle-concepts1.C b/gcc/testsuite/g++.dg/abi/mangle-concepts1.C index eac520c..cb3396b 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-concepts1.C +++ b/gcc/testsuite/g++.dg/abi/mangle-concepts1.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++20 } } +// { dg-additional-options -fabi-compat-version=0 } template <class T> concept C = true; template <class T, class U> concept C2 = true; diff --git a/gcc/testsuite/g++.dg/abi/mangle-neon-aarch64.C b/gcc/testsuite/g++.dg/abi/mangle-neon-aarch64.C index 50c1452..b62cf5d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-neon-aarch64.C +++ b/gcc/testsuite/g++.dg/abi/mangle-neon-aarch64.C @@ -2,6 +2,7 @@ // correctly. // { dg-do compile { target { aarch64*-*-* } } } +// { dg-additional-options -fabi-compat-version=0 } #include <arm_neon.h> diff --git a/gcc/testsuite/g++.dg/abi/mangle-neon.C b/gcc/testsuite/g++.dg/abi/mangle-neon.C index 57a9db2..1ab51d5 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-neon.C +++ b/gcc/testsuite/g++.dg/abi/mangle-neon.C @@ -3,6 +3,7 @@ // { dg-do compile } // { dg-require-effective-target arm_neon_ok } // { dg-add-options arm_neon } +// { dg-additional-options -fabi-compat-version=0 } #include <arm_neon.h> diff --git a/gcc/testsuite/g++.dg/abi/mangle-regparm.C b/gcc/testsuite/g++.dg/abi/mangle-regparm.C index 361e38b..480b5fa 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-regparm.C +++ b/gcc/testsuite/g++.dg/abi/mangle-regparm.C @@ -1,5 +1,5 @@ // { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } -// { dg-options "-Wabi=8 -save-temps" } +// { dg-options "-Wabi=8 -save-temps -fabi-compat-version=0" } // { dg-final { scan-assembler "_Z18IndirectExternCallIPU7stdcallU7regparmILi3EEFviiEiEvT_T0_S3_" } } typedef __SIZE_TYPE__ size_t; diff --git a/gcc/testsuite/g++.dg/abi/mangle-regparm1a.C b/gcc/testsuite/g++.dg/abi/mangle-regparm1a.C index bfa6c9b..60ac51e 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-regparm1a.C +++ b/gcc/testsuite/g++.dg/abi/mangle-regparm1a.C @@ -1,5 +1,5 @@ // { dg-do run { target { { i?86-*-* x86_64-*-* } && ia32 } } } -// { dg-options "-fabi-version=8 -Wabi -save-temps" } +// { dg-options "-fabi-version=8 -fabi-compat-version=8 -Wabi -save-temps" } // { dg-final { scan-assembler "_Z18IndirectExternCallIPFviiEiEvT_T0_S3_" } } template <typename F, typename T> diff --git a/gcc/testsuite/g++.dg/abi/mangle-ttp1.C b/gcc/testsuite/g++.dg/abi/mangle-ttp1.C index 2f5878f..0c3660d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-ttp1.C +++ b/gcc/testsuite/g++.dg/abi/mangle-ttp1.C @@ -1,5 +1,6 @@ // ABI #47 "natural" template parameter mangling // { dg-do compile { target c++17 } } +// { dg-additional-options -fabi-compat-version=0 } template <template <class...> class TT> class A { }; template <int... T> class B { }; diff --git a/gcc/testsuite/g++.dg/abi/mangle-union1.C b/gcc/testsuite/g++.dg/abi/mangle-union1.C index f2ee457..0cd3a9e 100644 --- a/gcc/testsuite/g++.dg/abi/mangle-union1.C +++ b/gcc/testsuite/g++.dg/abi/mangle-union1.C @@ -1,5 +1,6 @@ // PR c++/104847 // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } struct S { int i; }; union U { S k; }; diff --git a/gcc/testsuite/g++.dg/abi/mangle1.C b/gcc/testsuite/g++.dg/abi/mangle1.C index ab377d1..40bb9a9 100644 --- a/gcc/testsuite/g++.dg/abi/mangle1.C +++ b/gcc/testsuite/g++.dg/abi/mangle1.C @@ -1,7 +1,7 @@ // Test for mangling of simple testcase involving construction vtables. // { dg-do compile } -// { dg-options "-fno-inline" } +// { dg-options "-fno-inline -fabi-compat-version=0" } struct A { virtual void f () { } diff --git a/gcc/testsuite/g++.dg/abi/mangle13.C b/gcc/testsuite/g++.dg/abi/mangle13.C index c8822a3..de1bef5 100644 --- a/gcc/testsuite/g++.dg/abi/mangle13.C +++ b/gcc/testsuite/g++.dg/abi/mangle13.C @@ -1,4 +1,4 @@ -// { dg-options "-fabi-version=10" } +// { dg-options "-fabi-version=10 -fabi-compat-version=10" } struct A { template <typename T> int f (); diff --git a/gcc/testsuite/g++.dg/abi/mangle15.C b/gcc/testsuite/g++.dg/abi/mangle15.C index 3c112e2..b143c78 100644 --- a/gcc/testsuite/g++.dg/abi/mangle15.C +++ b/gcc/testsuite/g++.dg/abi/mangle15.C @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-fabi-version=0" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0" } struct A { template <typename T> int f (); diff --git a/gcc/testsuite/g++.dg/abi/mangle16.C b/gcc/testsuite/g++.dg/abi/mangle16.C index 1f3039f..b96de71 100644 --- a/gcc/testsuite/g++.dg/abi/mangle16.C +++ b/gcc/testsuite/g++.dg/abi/mangle16.C @@ -1,4 +1,4 @@ -// { dg-options "-fabi-version=0" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0" } enum E { e = 3 }; diff --git a/gcc/testsuite/g++.dg/abi/mangle18-1.C b/gcc/testsuite/g++.dg/abi/mangle18-1.C index a1be5e4..86b1305 100644 --- a/gcc/testsuite/g++.dg/abi/mangle18-1.C +++ b/gcc/testsuite/g++.dg/abi/mangle18-1.C @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-fabi-version=2" } +// { dg-options "-fabi-version=2 -fabi-compat-version=2" } // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 30 Nov 2003 <nathan@codesourcery.com> diff --git a/gcc/testsuite/g++.dg/abi/mangle19-1.C b/gcc/testsuite/g++.dg/abi/mangle19-1.C index a888173..3f98a72 100644 --- a/gcc/testsuite/g++.dg/abi/mangle19-1.C +++ b/gcc/testsuite/g++.dg/abi/mangle19-1.C @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-fabi-version=2 -Wabi" } +// { dg-options "-fabi-version=2 -fabi-compat-version=2 -Wabi=0" } // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 15 Dec 2003 <nathan@codesourcery.com> diff --git a/gcc/testsuite/g++.dg/abi/mangle20-1.C b/gcc/testsuite/g++.dg/abi/mangle20-1.C index 1985fe3..4e0294f 100644 --- a/gcc/testsuite/g++.dg/abi/mangle20-1.C +++ b/gcc/testsuite/g++.dg/abi/mangle20-1.C @@ -1,5 +1,5 @@ // { dg-do compile } -// { dg-options "-fabi-version=2" } +// { dg-options "-fabi-version=2 -fabi-compat-version=2" } // Copyright (C) 2003 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 15 Dec 2003 <nathan@codesourcery.com> diff --git a/gcc/testsuite/g++.dg/abi/mangle22.C b/gcc/testsuite/g++.dg/abi/mangle22.C index 93ddd1e..6386557 100644 --- a/gcc/testsuite/g++.dg/abi/mangle22.C +++ b/gcc/testsuite/g++.dg/abi/mangle22.C @@ -1,5 +1,5 @@ // PR c++/16240 -// { dg-options "-fabi-version=3" } +// { dg-options "-fabi-version=3 -fabi-compat-version=3" } void foo(char); template<void (&)(char)> struct CB {}; diff --git a/gcc/testsuite/g++.dg/abi/mangle23.C b/gcc/testsuite/g++.dg/abi/mangle23.C index f22347a..7e3e988 100644 --- a/gcc/testsuite/g++.dg/abi/mangle23.C +++ b/gcc/testsuite/g++.dg/abi/mangle23.C @@ -1,5 +1,5 @@ // PR c++/16240 -// { dg-options "-fabi-version=2 -Wno-abi" } +// { dg-options "-fabi-version=2 -fabi-compat-version=2 -Wno-abi" } void foo(char); template<void (&)(char)> struct CB {}; diff --git a/gcc/testsuite/g++.dg/abi/mangle24.C b/gcc/testsuite/g++.dg/abi/mangle24.C index 1f5c5c1..52c0a42 100644 --- a/gcc/testsuite/g++.dg/abi/mangle24.C +++ b/gcc/testsuite/g++.dg/abi/mangle24.C @@ -4,7 +4,7 @@ // ia64-hpux where "long double" is "e" and __float80 is "u9__float80". // Origin: Joseph Myers <joseph@codesourcery.com> // { dg-do compile { target i?86-*-* x86_64-*-* ia64-*-* } } -// { dg-options "" } +// { dg-options "-fabi-compat-version=0" } // { dg-final { scan-assembler "_Z1fe" { target i?86-*-* x86_64-*-* } } } // { dg-final { scan-assembler "_Z1fe" { target { ia64-*-* && { ! "ia64-*-hpux*" } } } } } // { dg-final { scan-assembler "_Z1fu9__float80" { target ia64-*-hpux* } } } diff --git a/gcc/testsuite/g++.dg/abi/mangle25.C b/gcc/testsuite/g++.dg/abi/mangle25.C index 74397f7..8b41fc1 100644 --- a/gcc/testsuite/g++.dg/abi/mangle25.C +++ b/gcc/testsuite/g++.dg/abi/mangle25.C @@ -5,7 +5,7 @@ // "long double". // Origin: Joseph Myers <joseph@codesourcery.com> // { dg-do compile { target ia64-*-* i?86-*-* x86_64-*-* } } -// { dg-options "" } +// { dg-options "-fabi-compat-version=0" } // { dg-final { scan-assembler "_Z1fg" { target i?86-*-* x86_64-*-* } } } // { dg-final { scan-assembler "_Z1fg" { target { ia64-*-* && { ! "ia64-*-hpux*" } } } } } // { dg-final { scan-assembler "_Z1fe" { target ia64-*-hpux* } } } diff --git a/gcc/testsuite/g++.dg/abi/mangle26.C b/gcc/testsuite/g++.dg/abi/mangle26.C index 2041d77..f738dd7a 100644 --- a/gcc/testsuite/g++.dg/abi/mangle26.C +++ b/gcc/testsuite/g++.dg/abi/mangle26.C @@ -1,7 +1,7 @@ // Test of std mangling // { dg-do compile } -// { dg-options "-fno-inline -fno-implicit-constexpr" } +// { dg-options "-fno-inline -fno-implicit-constexpr -fabi-compat-version=0" } namespace std { struct A { diff --git a/gcc/testsuite/g++.dg/abi/mangle27.C b/gcc/testsuite/g++.dg/abi/mangle27.C index 2d15abb..c6714ea 100644 --- a/gcc/testsuite/g++.dg/abi/mangle27.C +++ b/gcc/testsuite/g++.dg/abi/mangle27.C @@ -1,7 +1,7 @@ // Test of std::basic_iostream<char, std::char_traits<char> > mangling // { dg-do compile } -// { dg-options "-fno-inline" } +// { dg-options "-fno-inline -fabi-compat-version=0" } namespace std { template<typename> struct char_traits; diff --git a/gcc/testsuite/g++.dg/abi/mangle28.C b/gcc/testsuite/g++.dg/abi/mangle28.C index bea8ce0..7168c0d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle28.C +++ b/gcc/testsuite/g++.dg/abi/mangle28.C @@ -1,7 +1,7 @@ // Test of std::basic_istream<char, std::char_traits<char> > mangling // { dg-do compile } -// { dg-options "-fno-inline" } +// { dg-options "-fno-inline -fabi-compat-version=0" } namespace std { template<typename> struct char_traits; diff --git a/gcc/testsuite/g++.dg/abi/mangle29.C b/gcc/testsuite/g++.dg/abi/mangle29.C index aaff2b4..9e1da9f 100644 --- a/gcc/testsuite/g++.dg/abi/mangle29.C +++ b/gcc/testsuite/g++.dg/abi/mangle29.C @@ -1,7 +1,7 @@ // Test of std::basic_ostream<char, std::char_traits<char> > mangling // { dg-do compile } -// { dg-options "-fno-inline" } +// { dg-options "-fno-inline -fabi-compat-version=0" } namespace std { template<typename> struct char_traits; diff --git a/gcc/testsuite/g++.dg/abi/mangle3-2.C b/gcc/testsuite/g++.dg/abi/mangle3-2.C index 538c5cb..7ef0005 100644 --- a/gcc/testsuite/g++.dg/abi/mangle3-2.C +++ b/gcc/testsuite/g++.dg/abi/mangle3-2.C @@ -1,5 +1,5 @@ // Test mangling of type casts -// { dg-options "-fabi-version=0 -Wabi=5" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0 -Wabi=5" } // { dg-do compile } template<int i> class A {}; diff --git a/gcc/testsuite/g++.dg/abi/mangle3.C b/gcc/testsuite/g++.dg/abi/mangle3.C index 42f8dea..ee9a92a 100644 --- a/gcc/testsuite/g++.dg/abi/mangle3.C +++ b/gcc/testsuite/g++.dg/abi/mangle3.C @@ -1,5 +1,5 @@ // Test mangling of type casts -// { dg-options "-fabi-version=2 -Wabi" } +// { dg-options "-fabi-version=2 -fabi-compat-version=2 -Wabi=0" } // { dg-do compile } template<int i> class A {}; diff --git a/gcc/testsuite/g++.dg/abi/mangle30.C b/gcc/testsuite/g++.dg/abi/mangle30.C index f0b83db..af92f61 100644 --- a/gcc/testsuite/g++.dg/abi/mangle30.C +++ b/gcc/testsuite/g++.dg/abi/mangle30.C @@ -1,4 +1,5 @@ // Test for mangling of template args in a typename type. +// { dg-additional-options -fabi-compat-version=0 } struct A { diff --git a/gcc/testsuite/g++.dg/abi/mangle31.C b/gcc/testsuite/g++.dg/abi/mangle31.C index 4be2e0b..165260d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle31.C +++ b/gcc/testsuite/g++.dg/abi/mangle31.C @@ -1,5 +1,6 @@ // PR c++/39095 // { dg-do compile } +// { dg-additional-options -fabi-compat-version=0 } struct B { diff --git a/gcc/testsuite/g++.dg/abi/mangle32.C b/gcc/testsuite/g++.dg/abi/mangle32.C index 6ae0113..4c5b33b 100644 --- a/gcc/testsuite/g++.dg/abi/mangle32.C +++ b/gcc/testsuite/g++.dg/abi/mangle32.C @@ -4,6 +4,7 @@ // are distinct. // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } typedef struct { } *A; typedef struct { } *B; diff --git a/gcc/testsuite/g++.dg/abi/mangle33.C b/gcc/testsuite/g++.dg/abi/mangle33.C index 8c77f1f..1b1f898 100644 --- a/gcc/testsuite/g++.dg/abi/mangle33.C +++ b/gcc/testsuite/g++.dg/abi/mangle33.C @@ -1,4 +1,5 @@ // Testcase for mangling very long names. +// { dg-additional-options -fabi-compat-version=0 } #define N \ abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyzabcdefghijklm diff --git a/gcc/testsuite/g++.dg/abi/mangle34.C b/gcc/testsuite/g++.dg/abi/mangle34.C index 08c3bc0..bee16b0 100644 --- a/gcc/testsuite/g++.dg/abi/mangle34.C +++ b/gcc/testsuite/g++.dg/abi/mangle34.C @@ -4,6 +4,7 @@ // This tests the mangling of empty template argument list in a template // id. // { dg-final { scan-assembler "_ZNK5DummyclI3GenEENT_3SigIE10ResultTypeERKS2_" } } +// { dg-additional-options -fabi-compat-version=0 } struct Void {}; diff --git a/gcc/testsuite/g++.dg/abi/mangle35.C b/gcc/testsuite/g++.dg/abi/mangle35.C index 78d9933..a279227 100644 --- a/gcc/testsuite/g++.dg/abi/mangle35.C +++ b/gcc/testsuite/g++.dg/abi/mangle35.C @@ -1,5 +1,6 @@ // PR c++/38600 // { dg-final { scan-assembler "_Z3barIiE1AIX3fooIT_EEEv" } } +// { dg-additional-options -fabi-compat-version=0 } template<void (*)()> struct A {}; diff --git a/gcc/testsuite/g++.dg/abi/mangle36.C b/gcc/testsuite/g++.dg/abi/mangle36.C index aaace65..1acfc87 100644 --- a/gcc/testsuite/g++.dg/abi/mangle36.C +++ b/gcc/testsuite/g++.dg/abi/mangle36.C @@ -1,6 +1,6 @@ // PR c++/41959 // { dg-do compile { target i?86-*-* x86_64-*-* } } -// { dg-options "-mavx -fabi-version=4" } +// { dg-options "-mavx -fabi-version=4 -fabi-compat-version=4" } // { dg-final { scan-assembler "_Z1fDv4_f" } } // { dg-final { scan-assembler "_Z1fDv8_f" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle37.C b/gcc/testsuite/g++.dg/abi/mangle37.C index 4dd87e8..c6f70d7 100644 --- a/gcc/testsuite/g++.dg/abi/mangle37.C +++ b/gcc/testsuite/g++.dg/abi/mangle37.C @@ -1,6 +1,6 @@ // Testcase for mangling of expressions involving operator names. // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=10" } +// { dg-options "-fabi-version=10 -fabi-compat-version=10" } // { dg-final { scan-assembler "_Z1fI1AEDTclonplfp_fp_EET_" } } // { dg-final { scan-assembler "_Z1gI1AEDTclonplIT_Efp_fp_EES1_" } } // { dg-final { scan-assembler "_Z1hI1AEDTcldtfp_miEET_" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle39.C b/gcc/testsuite/g++.dg/abi/mangle39.C index a36f981..520edc2 100644 --- a/gcc/testsuite/g++.dg/abi/mangle39.C +++ b/gcc/testsuite/g++.dg/abi/mangle39.C @@ -1,6 +1,6 @@ // PR c++/42338 // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=5" } +// { dg-options "-fabi-version=5 -fabi-compat-version=5" } // { dg-final { scan-assembler "_Z1fIPiEDTcmppfp_Li0EET_" } } // { dg-final { scan-assembler "_Z1gIiEvRK1AIT_EDTixfL0p_Li0EE" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle40.C b/gcc/testsuite/g++.dg/abi/mangle40.C index a7032a0..898565a 100644 --- a/gcc/testsuite/g++.dg/abi/mangle40.C +++ b/gcc/testsuite/g++.dg/abi/mangle40.C @@ -2,7 +2,7 @@ // { dg-do compile { target i?86-*-* x86_64-*-* } } // { dg-require-weak "" } // { dg-require-alias "" } -// { dg-options "-mavx -Wabi -fabi-version=2" } +// { dg-options "-mavx -Wabi -fabi-version=2 -fabi-compat-version=0" } // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIDv4_fEvT_" } } // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_Z1fIU8__vectorfEvT_" } } // { dg-final { scan-assembler "(weak|glob)\[^\n\]*_ZN1AIDv4_fE1tE" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle43.C b/gcc/testsuite/g++.dg/abi/mangle43.C index 4dfa425..76b5ba4 100644 --- a/gcc/testsuite/g++.dg/abi/mangle43.C +++ b/gcc/testsuite/g++.dg/abi/mangle43.C @@ -1,5 +1,5 @@ // { dg-do compile { target int128 } } -// { dg-options "" } +// { dg-options "-fabi-compat-version=0" } struct S { S(void) { m_i128 = 0; m_u128 = 0; } diff --git a/gcc/testsuite/g++.dg/abi/mangle44.C b/gcc/testsuite/g++.dg/abi/mangle44.C index 8454148..73957e1 100644 --- a/gcc/testsuite/g++.dg/abi/mangle44.C +++ b/gcc/testsuite/g++.dg/abi/mangle44.C @@ -1,4 +1,5 @@ // PR c++/45008 +// { dg-additional-options -fabi-compat-version=0 } template <typename T> struct A diff --git a/gcc/testsuite/g++.dg/abi/mangle45.C b/gcc/testsuite/g++.dg/abi/mangle45.C index bdedb0a..52cdadd 100644 --- a/gcc/testsuite/g++.dg/abi/mangle45.C +++ b/gcc/testsuite/g++.dg/abi/mangle45.C @@ -1,6 +1,6 @@ // Testcase for mangling of parameters used other than in a trailing return type // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=5 -Wabi=4" } +// { dg-options "-fabi-version=5 -fabi-compat-version=5 -Wabi=4" } template<class T> void f(T p, decltype(p)) { } // L = 1 { dg-warning "mangle" } template<class T> void g(T p, decltype(p) (*)()) { } // L = 1 { dg-warning "mangle" } diff --git a/gcc/testsuite/g++.dg/abi/mangle46.C b/gcc/testsuite/g++.dg/abi/mangle46.C index fddc88d..2986dd7 100644 --- a/gcc/testsuite/g++.dg/abi/mangle46.C +++ b/gcc/testsuite/g++.dg/abi/mangle46.C @@ -1,5 +1,5 @@ // PR c++/48008 -// { dg-options -fabi-version=5 } +// { dg-options "-fabi-version=5 -fabi-compat-version=5" } // Test that we retain function-cv-quals in template argument mangling. template <class T> diff --git a/gcc/testsuite/g++.dg/abi/mangle47.C b/gcc/testsuite/g++.dg/abi/mangle47.C index 3bb5e9a..09d822e 100644 --- a/gcc/testsuite/g++.dg/abi/mangle47.C +++ b/gcc/testsuite/g++.dg/abi/mangle47.C @@ -1,6 +1,7 @@ // PR c++/47132 // { dg-do compile { target c++11 } } // { dg-final { scan-assembler "_Z1fIiEDToRfp_Li1EET_" } } +// { dg-additional-options -fabi-compat-version=0 } template <typename T> auto f (T t) -> decltype(t |= 1); diff --git a/gcc/testsuite/g++.dg/abi/mangle48.C b/gcc/testsuite/g++.dg/abi/mangle48.C index f9afa1a..3f86c51 100644 --- a/gcc/testsuite/g++.dg/abi/mangle48.C +++ b/gcc/testsuite/g++.dg/abi/mangle48.C @@ -1,5 +1,6 @@ // Testcase for 'this' mangling // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } struct B { diff --git a/gcc/testsuite/g++.dg/abi/mangle49.C b/gcc/testsuite/g++.dg/abi/mangle49.C index fae013a..7563736 100644 --- a/gcc/testsuite/g++.dg/abi/mangle49.C +++ b/gcc/testsuite/g++.dg/abi/mangle49.C @@ -1,6 +1,6 @@ // PR c++/49932 // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=0 -Wabi=2" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0 -Wabi=2" } template < typename T > auto diff --git a/gcc/testsuite/g++.dg/abi/mangle5.C b/gcc/testsuite/g++.dg/abi/mangle5.C index 99a0873..e0e0848 100644 --- a/gcc/testsuite/g++.dg/abi/mangle5.C +++ b/gcc/testsuite/g++.dg/abi/mangle5.C @@ -1,4 +1,5 @@ // Test mangling of pointers to cv-qualified member functions +// { dg-additional-options -fabi-compat-version=0 } struct A; void f (void (A::*)() const) {} diff --git a/gcc/testsuite/g++.dg/abi/mangle50.C b/gcc/testsuite/g++.dg/abi/mangle50.C index 90566c2..68abc9d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle50.C +++ b/gcc/testsuite/g++.dg/abi/mangle50.C @@ -1,5 +1,6 @@ // DR 342, PR c++/48582 // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } struct A; template < void * = nullptr > void f() { } diff --git a/gcc/testsuite/g++.dg/abi/mangle51.C b/gcc/testsuite/g++.dg/abi/mangle51.C index e7c2c74..a2b9f2c 100644 --- a/gcc/testsuite/g++.dg/abi/mangle51.C +++ b/gcc/testsuite/g++.dg/abi/mangle51.C @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=0" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0" } void* operator new (__SIZE_TYPE__, void *p) { return p; } int i; diff --git a/gcc/testsuite/g++.dg/abi/mangle52.C b/gcc/testsuite/g++.dg/abi/mangle52.C index 1e7eca0..b42b58d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle52.C +++ b/gcc/testsuite/g++.dg/abi/mangle52.C @@ -1,4 +1,4 @@ -// { dg-options "-fabi-version=18 -Wabi=2" } +// { dg-options "-fabi-version=18 -fabi-compat-version=18 -Wabi=2" } template <unsigned int> struct helper {}; // { dg-final { scan-assembler "\n_?_Z6check1IiEvP6helperIXszscT_Li1EEE\[: \t\n\]" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle53.C b/gcc/testsuite/g++.dg/abi/mangle53.C index 727fd75..5409039 100644 --- a/gcc/testsuite/g++.dg/abi/mangle53.C +++ b/gcc/testsuite/g++.dg/abi/mangle53.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } bool b; int i; diff --git a/gcc/testsuite/g++.dg/abi/mangle54.C b/gcc/testsuite/g++.dg/abi/mangle54.C index ba1d3bc..12cb071 100644 --- a/gcc/testsuite/g++.dg/abi/mangle54.C +++ b/gcc/testsuite/g++.dg/abi/mangle54.C @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=0 -Wabi=2" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0 -Wabi=2" } int i; // { dg-final { scan-assembler "_Z2f1IiEDTppfp_ET_" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle55.C b/gcc/testsuite/g++.dg/abi/mangle55.C index 72ea834..2d5d3a0 100644 --- a/gcc/testsuite/g++.dg/abi/mangle55.C +++ b/gcc/testsuite/g++.dg/abi/mangle55.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } struct A { int i; }; // { dg-final { scan-assembler "_Z2f1Ii1AEDTdsfp_fp0_ET0_MS2_T_" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle56.C b/gcc/testsuite/g++.dg/abi/mangle56.C index 5c66db5..f6ea7fc 100644 --- a/gcc/testsuite/g++.dg/abi/mangle56.C +++ b/gcc/testsuite/g++.dg/abi/mangle56.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } template <class T> T g(T t1, T t2) { return t2; } // { dg-final { scan-assembler "_Z2f1IiEDTcl1gfp_ilEEET_" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle57.C b/gcc/testsuite/g++.dg/abi/mangle57.C index 46cf377..09b6149 100644 --- a/gcc/testsuite/g++.dg/abi/mangle57.C +++ b/gcc/testsuite/g++.dg/abi/mangle57.C @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=0 -Wabi=2" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0 -Wabi=2" } template<typename T> int cmp1(T a, T b); int cmp2(char a, char b); diff --git a/gcc/testsuite/g++.dg/abi/mangle58.C b/gcc/testsuite/g++.dg/abi/mangle58.C index d2c90b4..2ed0bbf 100644 --- a/gcc/testsuite/g++.dg/abi/mangle58.C +++ b/gcc/testsuite/g++.dg/abi/mangle58.C @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=0 -Wabi=2" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0 -Wabi=2" } template<typename T, int (*cmp)(T, T)> struct A { }; struct B { diff --git a/gcc/testsuite/g++.dg/abi/mangle59.C b/gcc/testsuite/g++.dg/abi/mangle59.C index ba0befd..43f7290 100644 --- a/gcc/testsuite/g++.dg/abi/mangle59.C +++ b/gcc/testsuite/g++.dg/abi/mangle59.C @@ -1,5 +1,5 @@ // { dg-do compile { target c++11 } } -// { dg-options "-fabi-version=0" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0" } // { dg-final { scan-assembler "_Z1fIiEDTcmdlfp_psfp_EPT_" } } template <class T> auto f (T* p) -> decltype(delete p, +p) { return p; } diff --git a/gcc/testsuite/g++.dg/abi/mangle6.C b/gcc/testsuite/g++.dg/abi/mangle6.C index 280fe24..72403bb 100644 --- a/gcc/testsuite/g++.dg/abi/mangle6.C +++ b/gcc/testsuite/g++.dg/abi/mangle6.C @@ -1,5 +1,6 @@ /* Check that __int128 types are mangled. */ /* { dg-do compile { target mips*-*-* } } */ +// { dg-additional-options -fabi-compat-version=0 } #ifdef __mips64 typedef int int128 __attribute__ ((mode(TI))); diff --git a/gcc/testsuite/g++.dg/abi/mangle60.C b/gcc/testsuite/g++.dg/abi/mangle60.C index f7e893a..c835ce2 100644 --- a/gcc/testsuite/g++.dg/abi/mangle60.C +++ b/gcc/testsuite/g++.dg/abi/mangle60.C @@ -1,5 +1,5 @@ // PR c++/51854 -// { dg-options "" } +// { dg-options "-fabi-compat-version=0" } template <unsigned N> struct A; diff --git a/gcc/testsuite/g++.dg/abi/mangle61.C b/gcc/testsuite/g++.dg/abi/mangle61.C index 2ae336e..84ad20e 100644 --- a/gcc/testsuite/g++.dg/abi/mangle61.C +++ b/gcc/testsuite/g++.dg/abi/mangle61.C @@ -1,5 +1,6 @@ // PR c++/56237 // { dg-do compile } +// { dg-additional-options -fabi-compat-version=0 } void *p[4]; diff --git a/gcc/testsuite/g++.dg/abi/mangle62.C b/gcc/testsuite/g++.dg/abi/mangle62.C index db541ca..fe2ca9f 100644 --- a/gcc/testsuite/g++.dg/abi/mangle62.C +++ b/gcc/testsuite/g++.dg/abi/mangle62.C @@ -2,7 +2,7 @@ // as a substitution candidate for a function type with function-cv-quals. // Test for the conformant behavior. -// { dg-options "-fabi-version=0 -Wabi=7" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0 -Wabi=7" } template <class T, class U> struct A { }; // { dg-final { scan-assembler "\n_?_Z1fP1AIKFvvEFvvEE\[: \t\n\]" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle62a.C b/gcc/testsuite/g++.dg/abi/mangle62a.C index a48efd0..a22421a 100644 --- a/gcc/testsuite/g++.dg/abi/mangle62a.C +++ b/gcc/testsuite/g++.dg/abi/mangle62a.C @@ -2,7 +2,7 @@ // as a substitution candidate for a function type with function-cv-quals. // Test for that for backward compatibility. -// { dg-options "-fabi-version=7 -Wabi" } +// { dg-options "-fabi-version=7 -fabi-compat-version=7 -Wabi=0" } template <class T, class U> struct A { }; // { dg-final { scan-assembler "\n_?_Z1fP1AIKFvvES0_E\[: \t\n\]" } } diff --git a/gcc/testsuite/g++.dg/abi/mangle63.C b/gcc/testsuite/g++.dg/abi/mangle63.C index d6a58a3..773691a 100644 --- a/gcc/testsuite/g++.dg/abi/mangle63.C +++ b/gcc/testsuite/g++.dg/abi/mangle63.C @@ -1,5 +1,6 @@ // DR 850 makes this valid // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } template<class T> struct A { diff --git a/gcc/testsuite/g++.dg/abi/mangle64.C b/gcc/testsuite/g++.dg/abi/mangle64.C index 778cda7..9c42985 100644 --- a/gcc/testsuite/g++.dg/abi/mangle64.C +++ b/gcc/testsuite/g++.dg/abi/mangle64.C @@ -1,5 +1,5 @@ // { dg-do compile { target msp430*-*-* } } -// { dg-options "-std=gnu++11" } +// { dg-options "-std=gnu++11 -fabi-compat-version=0" } // { dg-skip-if "" { msp430*-*-* } { "-mcpu=msp430" } { "" } } __int20 x; diff --git a/gcc/testsuite/g++.dg/abi/mangle65.C b/gcc/testsuite/g++.dg/abi/mangle65.C index 13169c2..f164331 100644 --- a/gcc/testsuite/g++.dg/abi/mangle65.C +++ b/gcc/testsuite/g++.dg/abi/mangle65.C @@ -1,5 +1,6 @@ // PR c++/64898 // { dg-final { scan-assembler-not "_Z6foovar" } } +// { dg-additional-options -fabi-compat-version=0 } template <class> void f() { diff --git a/gcc/testsuite/g++.dg/abi/mangle66.C b/gcc/testsuite/g++.dg/abi/mangle66.C index 94ac08e..918eaa9 100644 --- a/gcc/testsuite/g++.dg/abi/mangle66.C +++ b/gcc/testsuite/g++.dg/abi/mangle66.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } namespace N { template <class T> using A = typename T::template X<int>; diff --git a/gcc/testsuite/g++.dg/abi/mangle68.C b/gcc/testsuite/g++.dg/abi/mangle68.C index 3e16eeb..3ffa39d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle68.C +++ b/gcc/testsuite/g++.dg/abi/mangle68.C @@ -1,5 +1,6 @@ // PR c++/89356 // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } template<typename T> auto fn () -> decltype(unsigned{2u} + (T)3) { return 42; } diff --git a/gcc/testsuite/g++.dg/abi/mangle69.C b/gcc/testsuite/g++.dg/abi/mangle69.C index dea3eec..4dbe765 100644 --- a/gcc/testsuite/g++.dg/abi/mangle69.C +++ b/gcc/testsuite/g++.dg/abi/mangle69.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++2a } } +// { dg-additional-options -fabi-compat-version=0 } struct A1 { char c[5]; }; diff --git a/gcc/testsuite/g++.dg/abi/mangle7.C b/gcc/testsuite/g++.dg/abi/mangle7.C index 14c65a2..c2c8fb5 100644 --- a/gcc/testsuite/g++.dg/abi/mangle7.C +++ b/gcc/testsuite/g++.dg/abi/mangle7.C @@ -1,4 +1,5 @@ /* { dg-do compile } */ +// { dg-additional-options -fabi-compat-version=0 } typedef void *const t1[2]; float const f1(t1 (&)[79], ...) { return 0.0f; } diff --git a/gcc/testsuite/g++.dg/abi/mangle70.C b/gcc/testsuite/g++.dg/abi/mangle70.C index 39c987d..197727c 100644 --- a/gcc/testsuite/g++.dg/abi/mangle70.C +++ b/gcc/testsuite/g++.dg/abi/mangle70.C @@ -1,6 +1,7 @@ // Verify that class literals are mangled the same way regardless // of the underlying type. // { dg-do compile { target c++2a } } +// { dg-additional-options -fabi-compat-version=0 } struct I { int a[5], b[5], c[5]; }; template <I> struct X { }; diff --git a/gcc/testsuite/g++.dg/abi/mangle71.C b/gcc/testsuite/g++.dg/abi/mangle71.C index 038befa..92747c4 100644 --- a/gcc/testsuite/g++.dg/abi/mangle71.C +++ b/gcc/testsuite/g++.dg/abi/mangle71.C @@ -1,5 +1,6 @@ // Verify mangling of class literals of types with ctors. // { dg-do compile { target c++2a } } +// { dg-additional-options -fabi-compat-version=0 } struct A { diff --git a/gcc/testsuite/g++.dg/abi/mangle72.C b/gcc/testsuite/g++.dg/abi/mangle72.C index 308865b..9581451 100644 --- a/gcc/testsuite/g++.dg/abi/mangle72.C +++ b/gcc/testsuite/g++.dg/abi/mangle72.C @@ -1,6 +1,7 @@ // Verify manglinng of class literals with pointers to members. // Some of the mangling here is wrong. Note the FIXME comments below. // { dg-do compile { target c++2a } } +// { dg-additional-options -fabi-compat-version=0 } struct A { int a[2]; }; diff --git a/gcc/testsuite/g++.dg/abi/mangle73.C b/gcc/testsuite/g++.dg/abi/mangle73.C index 2a5322a..c226307 100644 --- a/gcc/testsuite/g++.dg/abi/mangle73.C +++ b/gcc/testsuite/g++.dg/abi/mangle73.C @@ -1,4 +1,5 @@ // { dg-do compile { target c++2a } } +// { dg-additional-options -fabi-compat-version=0 } struct A { diff --git a/gcc/testsuite/g++.dg/abi/mangle74.C b/gcc/testsuite/g++.dg/abi/mangle74.C index 4e1c632..7451ce8 100644 --- a/gcc/testsuite/g++.dg/abi/mangle74.C +++ b/gcc/testsuite/g++.dg/abi/mangle74.C @@ -1,5 +1,5 @@ // { dg-do compile { target c++17 } } -// { dg-options "-fno-inline -O0" } +// { dg-options "-fno-inline -O0 -fabi-compat-version=0" } inline auto var = [] () {return 2;}; diff --git a/gcc/testsuite/g++.dg/abi/mangle75.C b/gcc/testsuite/g++.dg/abi/mangle75.C index f266199..b7619ed 100644 --- a/gcc/testsuite/g++.dg/abi/mangle75.C +++ b/gcc/testsuite/g++.dg/abi/mangle75.C @@ -1,5 +1,6 @@ // PR c++/91377 // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } struct f { static constexpr int d = 3; diff --git a/gcc/testsuite/g++.dg/abi/mangle76.C b/gcc/testsuite/g++.dg/abi/mangle76.C index fe326e6..a87eca8 100644 --- a/gcc/testsuite/g++.dg/abi/mangle76.C +++ b/gcc/testsuite/g++.dg/abi/mangle76.C @@ -1,6 +1,6 @@ // PR c++/98545 // { dg-do compile { target c++11 } } -// { dg-options "-Wabi=14" } +// { dg-options "-Wabi=14 -fabi-compat-version=0" } class a { public: diff --git a/gcc/testsuite/g++.dg/abi/mangle77.C b/gcc/testsuite/g++.dg/abi/mangle77.C index 1181dc8..30d1a16 100644 --- a/gcc/testsuite/g++.dg/abi/mangle77.C +++ b/gcc/testsuite/g++.dg/abi/mangle77.C @@ -2,6 +2,7 @@ // arguments and other expressions in the signature. // { dg-do compile { target c++20 } } +// { dg-additional-options -fabi-compat-version=0 } struct B { diff --git a/gcc/testsuite/g++.dg/abi/mangle78.C b/gcc/testsuite/g++.dg/abi/mangle78.C index 63c4d77..ac332c6 100644 --- a/gcc/testsuite/g++.dg/abi/mangle78.C +++ b/gcc/testsuite/g++.dg/abi/mangle78.C @@ -1,5 +1,6 @@ // PR c++/70790 // { dg-do compile { target c++11 } } +// { dg-additional-options -fabi-compat-version=0 } template<bool B> struct A { }; diff --git a/gcc/testsuite/g++.dg/abi/mangle8.C b/gcc/testsuite/g++.dg/abi/mangle8.C index 6a07358..aa0e17d 100644 --- a/gcc/testsuite/g++.dg/abi/mangle8.C +++ b/gcc/testsuite/g++.dg/abi/mangle8.C @@ -2,6 +2,7 @@ // Bug: We were encoding the name of the instantiation as 'operator int' // rather than 'operator T'. // { dg-do compile } +// { dg-additional-options -fabi-compat-version=0 } struct C { template <class T> diff --git a/gcc/testsuite/g++.dg/abi/mangle9.C b/gcc/testsuite/g++.dg/abi/mangle9.C index f3ededf..941c58a 100644 --- a/gcc/testsuite/g++.dg/abi/mangle9.C +++ b/gcc/testsuite/g++.dg/abi/mangle9.C @@ -1,4 +1,4 @@ -// { dg-options "-fabi-version=0" } +// { dg-options "-fabi-version=0 -fabi-compat-version=0" } template <typename Q> void f (typename Q::X) {} |