mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-27 14:39:09 +08:00
Fix gdb.linespec/cpls-ops.exp on 32-bit
gdb.linespec/cpls-ops.exp is currently failing on x86-64 -m32 and other 32-bit ports: b test_op_new::operator new(unsigned int) FAIL: gdb.linespec/cpls-ops.exp: operator-new: tab complete "b test_op_new::operator" (timeout) ^CQuit (gdb) complete b test_op_new::operator b test_op_new::operator new(unsigned int) (gdb) FAIL: gdb.linespec/cpls-ops.exp: operator-new: cmd complete "b test_op_new::operator" The problem is simply that the testcase incorrectly assumes that size_t is "unsigned long". Fix this by extracting the right type with the "ptype" command. gdb/testsuite/ChangeLog: 2017-11-30 Pedro Alves <palves@redhat.com> * gdb.linespec/cpls-ops.exp (check_explicit_skips_function_argument): Extract the underlying type of size_t instead of hardcoding it.
This commit is contained in:
@ -1,3 +1,9 @@
|
||||
2017-11-30 Pedro Alves <palves@redhat.com>
|
||||
|
||||
* gdb.linespec/cpls-ops.exp
|
||||
(check_explicit_skips_function_argument): Extract the underlying
|
||||
type of size_t instead of hardcoding it.
|
||||
|
||||
2017-11-29 Pedro Alves <palves@redhat.com>
|
||||
|
||||
PR c++/19436
|
||||
|
@ -43,8 +43,17 @@ proc check_explicit_skips_function_argument {function} {
|
||||
# testing operator new.
|
||||
|
||||
proc test_operator_new {class_name brackets} {
|
||||
# The type size_t is typedef-ed to.
|
||||
set size_t "unsigned long"
|
||||
global gdb_prompt
|
||||
|
||||
# Extract the type size_t is typedef-ed to.
|
||||
set size_t ""
|
||||
set test "get size_t underlying type"
|
||||
gdb_test_multiple "ptype size_t" $test {
|
||||
-re " = (\[ a-z\]*)\r\n$gdb_prompt $" {
|
||||
set size_t $expect_out(1,string)
|
||||
pass "$test"
|
||||
}
|
||||
}
|
||||
|
||||
# Complete all prefixes between "operato" and the full prototype.
|
||||
foreach cmd_prefix {"b" "b -function"} {
|
||||
|
Reference in New Issue
Block a user