aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2024-02-01 12:46:20 +0100
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2024-02-01 12:46:20 +0100
commite98edc6a3cdfcdad71a2f7be5818033ea15cdde7 (patch)
tree3257cfac8b9043330164539c9fab8cdfbec552c1
parentdd3455f69577eed9d65e7e00161666fcfbbf444c (diff)
downloadgcc-e98edc6a3cdfcdad71a2f7be5818033ea15cdde7.zip
gcc-e98edc6a3cdfcdad71a2f7be5818033ea15cdde7.tar.gz
gcc-e98edc6a3cdfcdad71a2f7be5818033ea15cdde7.tar.bz2
c++: Fix g++.dg/ext/attr-section2.C etc. with Solaris/SPARC as
The new g++.dg/ext/attr-section2*.C tests FAIL on Solaris/SPARC with the native assembler: +FAIL: g++.dg/ext/attr-section2.C -std=c++14 scan-assembler .(section|csect)[ \\\\t]+.foo +FAIL: g++.dg/ext/attr-section2.C -std=c++17 scan-assembler .(section|csect)[ \\\\t]+.foo +FAIL: g++.dg/ext/attr-section2.C -std=c++20 scan-assembler .(section|csect)[ \\\\t]+.foo The problem is that the SPARC assembler requires the section name to be double-quoted, like .section ".foo%_Z3varIiE",#alloc,#write,#progbits This patch allows for that. At the same time, it quotes literal dots in the REs. Tested on sparc-sun-solaris2.11 (as and gas) and i386-pc-solaris2.11 (as and gas). 2024-01-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc/testsuite: * g++.dg/ext/attr-section2.C (scan-assembler): Quote dots. Allow for double-quoted section name. * g++.dg/ext/attr-section2a.C: Likewise. * g++.dg/ext/attr-section2b.C: Likewise.
-rw-r--r--gcc/testsuite/g++.dg/ext/attr-section2.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/attr-section2a.C2
-rw-r--r--gcc/testsuite/g++.dg/ext/attr-section2b.C2
3 files changed, 3 insertions, 3 deletions
diff --git a/gcc/testsuite/g++.dg/ext/attr-section2.C b/gcc/testsuite/g++.dg/ext/attr-section2.C
index 7c9221b..81567c1 100644
--- a/gcc/testsuite/g++.dg/ext/attr-section2.C
+++ b/gcc/testsuite/g++.dg/ext/attr-section2.C
@@ -6,4 +6,4 @@ template<class T>
template int var<int>;
-// { dg-final { scan-assembler {.(section|csect)[ \t]+.foo} } }
+// { dg-final { scan-assembler {\.(section|csect)[ \t]+"?\.foo} } }
diff --git a/gcc/testsuite/g++.dg/ext/attr-section2a.C b/gcc/testsuite/g++.dg/ext/attr-section2a.C
index 4fa898c..97b3a10 100644
--- a/gcc/testsuite/g++.dg/ext/attr-section2a.C
+++ b/gcc/testsuite/g++.dg/ext/attr-section2a.C
@@ -11,4 +11,4 @@ int A<T>::var = 42;
template struct A<int>;
-// { dg-final { scan-assembler {.(section|csect)[ \t]+.foo} } }
+// { dg-final { scan-assembler {\.(section|csect)[ \t]+"?\.foo} } }
diff --git a/gcc/testsuite/g++.dg/ext/attr-section2b.C b/gcc/testsuite/g++.dg/ext/attr-section2b.C
index 9398773..bef0377 100644
--- a/gcc/testsuite/g++.dg/ext/attr-section2b.C
+++ b/gcc/testsuite/g++.dg/ext/attr-section2b.C
@@ -9,4 +9,4 @@ int* fun() {
template int* fun<int>();
-// { dg-final { scan-assembler {.(section|csect)[ \t]+.foo} } }
+// { dg-final { scan-assembler {\.(section|csect)[ \t]+"?\.foo} } }