aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorPedro Alves <palves@redhat.com>2017-11-30 16:32:10 +0000
committerPedro Alves <palves@redhat.com>2017-11-30 16:32:10 +0000
commite3919f3e898aa5ab9a98dcaf9e242a9ebacc0757 (patch)
tree068697f7318fbb75303ecbda75256a40cbc60acd /gdb
parent44122162aefcbabb2fbe5b531412d157da5e59fc (diff)
downloadgdb-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/ChangeLog6
-rw-r--r--gdb/testsuite/gdb.linespec/cpls-ops.exp13
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"} {