Tested on x86_64-pc-linux-gnu (with and without
--target_board=unix/-fshort-enums), committing as obvious.

-- >8 --

Linaro CI informed me that this test fails on ARM thumb-m7-hard-eabi.
This appears to be because the target defaults to -fshort-enums, and so
the mangled names are inaccurate.

This patch just disables the implicit type enum test for this case.

gcc/testsuite/ChangeLog:

        * g++.dg/abi/mangle83.C: Disable implicit enum test for
        -fshort-enums.

Signed-off-by: Nathaniel Shead <nathanielosh...@gmail.com>
---
 gcc/testsuite/g++.dg/abi/mangle83.C | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/testsuite/g++.dg/abi/mangle83.C 
b/gcc/testsuite/g++.dg/abi/mangle83.C
index 4f05d663ab8..ed68656f8c5 100644
--- a/gcc/testsuite/g++.dg/abi/mangle83.C
+++ b/gcc/testsuite/g++.dg/abi/mangle83.C
@@ -7,9 +7,9 @@ template<auto V> int Frob () { return int (V); }
 enum { A = (unsigned int)12345, B = 0 };
 template int Frob<A> ();
 template int Frob<B> ();
-// { dg-final { scan-assembler {_Z4FrobITnDaLUej1A12345EEiv:} { target c++20 } 
} }
+// { dg-final { scan-assembler {_Z4FrobITnDaLUej1A12345EEiv:} { target { c++20 
&& { ! short_enums } } } } }
 // { dg-final { scan-assembler {_Z4FrobITnDaL8._anon_012345EEiv:} { target 
c++17_down } } }
-// { dg-final { scan-assembler {_Z4FrobITnDaLUej1A0EEiv:} { target c++20 } } }
+// { dg-final { scan-assembler {_Z4FrobITnDaLUej1A0EEiv:} { target { c++20 && 
{ ! short_enums } } } } }
 // { dg-final { scan-assembler {_Z4FrobITnDaL8._anon_00EEiv:} { target 
c++17_down } } }
 
 enum { C = 5 } typedef X;
-- 
2.47.0

Reply via email to