aboutsummaryrefslogtreecommitdiff
path: root/gdb/testsuite/gdb.base/printcmds.exp
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2017-07-11 06:40:40 -0600
committerTom Tromey <tom@tromey.com>2017-08-14 10:14:05 -0600
commitd6382fffde99214ce4aee99a208ddb703c647008 (patch)
tree91590151181ced3a46bf0dc6ea123036198bea30 /gdb/testsuite/gdb.base/printcmds.exp
parentf978cb06dbfbd93dbd52bd39d992f8644b0c639e (diff)
downloadgdb-d6382fffde99214ce4aee99a208ddb703c647008.zip
gdb-d6382fffde99214ce4aee99a208ddb703c647008.tar.gz
gdb-d6382fffde99214ce4aee99a208ddb703c647008.tar.bz2
Fix two regressions in scalar printing
PR gdb/21675 points out a few regressions in scalar printing. One type of regression is due to not carrying over the old handling of floating point printing -- where a format like "/d" causes a floating point number to first be cast to a signed integer. This patch restores this behavior. The other regression is a longstanding bug in print_octal_chars: one of the constants was wrong. This patch fixes the constant and adds static asserts to help catch this sort of error. ChangeLog 2017-08-14 Tom Tromey <tom@tromey.com> PR gdb/21675 * valprint.c (LOW_ZERO): Change value to 034. (print_octal_chars): Add static_asserts for octal constants. * printcmd.c (print_scalar_formatted): Add 'd' case. testsuite/ChangeLog 2017-08-14 Tom Tromey <tom@tromey.com> PR gdb/21675: * gdb.base/printcmds.exp (test_radices): New function. * gdb.dwarf2/var-access.exp: Use p/u, not p/d. * gdb.base/sizeof.exp (check_valueof): Use p/d. * lib/gdb.exp (get_integer_valueof): Use p/d.
Diffstat (limited to 'gdb/testsuite/gdb.base/printcmds.exp')
-rw-r--r--gdb/testsuite/gdb.base/printcmds.exp11
1 files changed, 11 insertions, 0 deletions
diff --git a/gdb/testsuite/gdb.base/printcmds.exp b/gdb/testsuite/gdb.base/printcmds.exp
index 323ca73..9409c6a 100644
--- a/gdb/testsuite/gdb.base/printcmds.exp
+++ b/gdb/testsuite/gdb.base/printcmds.exp
@@ -155,6 +155,16 @@ proc test_float_rejected {} {
test_print_reject "p 1.1ll"
}
+# Regression test for PR gdb/21675
+proc test_radices {} {
+ gdb_test "print/o 16777211" " = 077777773"
+ gdb_test "print/d 1.5" " = 1"
+ gdb_test "print/u 1.5" " = 1"
+
+ gdb_test "print/u (char) -1" " = 255"
+ gdb_test "print/d (unsigned char) -1" " = -1"
+}
+
proc test_print_all_chars {} {
global gdb_prompt
@@ -981,3 +991,4 @@ test_printf
test_printf_with_dfp
test_print_symbol
test_repeat_bytes
+test_radices