https://gcc.gnu.org/g:0ccdedd571a54878df856948ee5d9cf5d28251dd
commit r16-96-g0ccdedd571a54878df856948ee5d9cf5d28251dd Author: Rainer Orth <r...@cebitec.uni-bielefeld.de> Date: Wed Apr 23 13:09:40 2025 +0200 testsuite: Skip g++.dg/eh/pr119507.C on Solaris/SPARC with as The new g++.dg/eh/pr119507.C test FAILs on Solaris/SPARC with the native as: FAIL: g++.dg/eh/pr119507.C -std=gnu++17 scan-assembler-times .section[\\t ][^\\n]*.gcc_except_table._Z6comdatv 1 FAIL: g++.dg/eh/pr119507.C -std=gnu++17 scan-assembler-times .section[\\t ][^\\n]*.gcc_except_table._Z7comdat1v 1 FAIL: g++.dg/eh/pr119507.C -std=gnu++26 scan-assembler-times .section[\\t ][^\\n]*.gcc_except_table._Z6comdatv 1 FAIL: g++.dg/eh/pr119507.C -std=gnu++26 scan-assembler-times .section[\\t ][^\\n]*.gcc_except_table._Z7comdat1v 1 FAIL: g++.dg/eh/pr119507.C -std=gnu++98 scan-assembler-times .section[\\t ][^\\n]*.gcc_except_table._Z6comdatv 1 FAIL: g++.dg/eh/pr119507.C -std=gnu++98 scan-assembler-times .section[\\t ][^\\n]*.gcc_except_table._Z7comdat1v 1 This happens because the syntax for COMDAT sections is vastly different from the one used by gas. Rather than trying to handle this, this patch just skips the test. Tested on sparc-sun-solaris2.11 with both as and gas, i386-pc-solaris2.11, and x86_64-pc-linux-gnu. 2025-04-23 Rainer Orth <r...@cebitec.uni-bielefeld.de> gcc/testsuite: * g++.dg/eh/pr119507.C: Skip on sparc*-*-solaris2* && !gas. Diff: --- gcc/testsuite/g++.dg/eh/pr119507.C | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gcc/testsuite/g++.dg/eh/pr119507.C b/gcc/testsuite/g++.dg/eh/pr119507.C index c68536ff671b..168779b96ca9 100644 --- a/gcc/testsuite/g++.dg/eh/pr119507.C +++ b/gcc/testsuite/g++.dg/eh/pr119507.C @@ -1,6 +1,8 @@ // { dg-do compile { target comdat_group } } // ARM EABI has its own exception handling data handling and does not use gcc_except_table // { dg-skip-if "!TARGET_EXCEPTION_DATA" { arm_eabi } } +// Solaris/SPARC as uses a widely different COMDAT section syntax. +// { dg-skip-if "Solaris/SPARC as syntax" { sparc*-*-solaris2* && { ! gas } } } // Force off function sections // Force on exceptions // { dg-options "-fno-function-sections -fexceptions" }