mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-19 00:59:15 +08:00
[gdb/testsuite] Add untested case in gdb.gdb/complaints.exp
When building gdb with "-Wall -O2 -g -flto=auto", I run into: ... (gdb) call clear_complaints()^M No symbol "clear_complaints" in current context.^M (gdb) FAIL: gdb.gdb/complaints.exp: clear complaints ... The problem is that lto has optimized away clear_complaints, and consequently the selftests cannot run. Fix this by: - using info function to detect presence of clear_complaints - handling the absence of clear_complaints by calling untested ... (gdb) UNTESTED: gdb.gdb/complaints.exp: \ Cannot find clear_complaints, skipping test ... Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2021-09-03 Tom de Vries <tdevries@suse.de> * gdb.gdb/complaints.exp: Use untested if clear_complaints cannot be found.
This commit is contained in:
@ -104,6 +104,26 @@ proc test_empty_complaint { cmd msg } {
|
||||
}
|
||||
|
||||
proc test_empty_complaints { } {
|
||||
global decimal
|
||||
|
||||
set re [multi_line \
|
||||
"All functions matching regular expression \[^:\]*:" \
|
||||
"" \
|
||||
"File \[^\r\n\]*/complaints\\.c:" \
|
||||
"$decimal:\tvoid clear_complaints\\(\\);"]
|
||||
|
||||
set found 0
|
||||
gdb_test_multiple "info function ^clear_complaints()$" "" {
|
||||
-re -wrap $re {
|
||||
set found 1
|
||||
}
|
||||
-re -wrap "" {
|
||||
}
|
||||
}
|
||||
if { ! $found } {
|
||||
untested "Cannot find clear_complaints, skipping test"
|
||||
return 0
|
||||
}
|
||||
|
||||
test_empty_complaint "call clear_complaints()" \
|
||||
"clear complaints"
|
||||
|
Reference in New Issue
Block a user