diff options
author | Pedro Alves <palves@redhat.com> | 2017-11-30 16:32:10 +0000 |
---|---|---|
committer | Pedro Alves <palves@redhat.com> | 2017-11-30 16:32:10 +0000 |
commit | e3919f3e898aa5ab9a98dcaf9e242a9ebacc0757 (patch) | |
tree | 068697f7318fbb75303ecbda75256a40cbc60acd /gdb | |
parent | 44122162aefcbabb2fbe5b531412d157da5e59fc (diff) | |
download | gdb-e3919f3e898aa5ab9a98dcaf9e242a9ebacc0757.zip gdb-e3919f3e898aa5ab9a98dcaf9e242a9ebacc0757.tar.gz gdb-e3919f3e898aa5ab9a98dcaf9e242a9ebacc0757.tar.bz2 |
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.
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/testsuite/gdb.linespec/cpls-ops.exp | 13 |
2 files changed, 17 insertions, 2 deletions
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index d19eca2..5b8151d 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -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 diff --git a/gdb/testsuite/gdb.linespec/cpls-ops.exp b/gdb/testsuite/gdb.linespec/cpls-ops.exp index c1b6c33..d58a6de 100644 --- a/gdb/testsuite/gdb.linespec/cpls-ops.exp +++ b/gdb/testsuite/gdb.linespec/cpls-ops.exp @@ -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"} { |