aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2023-11-29 10:29:50 +0100
committerRainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>2023-11-29 10:29:50 +0100
commit77f713a64aead2bcc68567de8431bdb67cb6b196 (patch)
treee2f3b1e663c7ef1c79ea6a5f5c73a1ae71b79efa /gcc
parent73a63efcdae4b979b4a1dcff2da7d68b905453a0 (diff)
downloadgcc-77f713a64aead2bcc68567de8431bdb67cb6b196.zip
gcc-77f713a64aead2bcc68567de8431bdb67cb6b196.tar.gz
gcc-77f713a64aead2bcc68567de8431bdb67cb6b196.tar.bz2
testsuite: Handle double-quoted LTO section names [PR112728]
The gcc.dg/scantest-lto.c test FAILs on Solaris/SPARC with the native as: FAIL: gcc.dg/scantest-lto.c scan-assembler-not ascii FAIL: gcc.dg/scantest-lto.c scan-assembler-times ascii 0 It requires double-quoting the section name which scanasm.exp doesn't allow for. This patch fixes that. Tested on sparc-sun-solaris2.11 (as and gas) and i386-pc-solaris2.11 (as and gas). 2023-11-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> gcc/testsuite: PR testsuite/112728 * lib/scanasm.exp (dg-scan): Allow for double-quoted LTO section names. (scan-assembler-times): Likewise. (scan-assembler-dem-not): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/lib/scanasm.exp10
1 files changed, 5 insertions, 5 deletions
diff --git a/gcc/testsuite/lib/scanasm.exp b/gcc/testsuite/lib/scanasm.exp
index d30e361..a48794c 100644
--- a/gcc/testsuite/lib/scanasm.exp
+++ b/gcc/testsuite/lib/scanasm.exp
@@ -82,8 +82,8 @@ proc dg-scan { name positive testcase output_file orig_args } {
if { [string compare -length 14 $name scan-assembler] == 0 } {
# Remove LTO sections.
# ??? Somehow, .*? is still greedy.
- # regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*\.gnu\.lto_.*?\n(?=[[:space:]]*\.text\n)} $text {\1} text
- regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
+ # regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*"?\.gnu\.lto_.*?\n(?=[[:space:]]*\.text\n)} $text {\1} text
+ regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*"?\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
}
set match [regexp -- $pattern $text]
@@ -503,7 +503,7 @@ proc scan-assembler-times { args } {
set fd [open $output_file r]
set text [read $fd]
close $fd
- regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
+ regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*"?\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
set result_count [regexp -all -- $pattern $text]
if {$result_count == $times} {
@@ -565,7 +565,7 @@ proc scan-assembler-dem { args } {
set output [remote_exec host "$cxxfilt" "" "$output_file"]
set text [lindex $output 1]
- regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
+ regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*"?\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
if [regexp -- $pattern $text] {
pass "$testcase scan-assembler-dem $pp_pattern"
@@ -622,7 +622,7 @@ proc scan-assembler-dem-not { args } {
set output [remote_exec host "$cxxfilt" "" "$output_file"]
set text [lindex $output 1]
- regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
+ regsub -all {(^|\n)[[:space:]]*\.section[[:space:]]*"?\.gnu\.lto_(?:[^\n]*\n(?![[:space:]]*\.(section|text|data|bss)))*[^\n]*\n} $text {\1} text
if ![regexp -- $pattern $text] {
pass "$testcase scan-assembler-dem-not $pp_pattern"