gdb/
Implement binary numbers parsing. * c-exp.y (parse_number): New case 'b' and 'B'. gdb/testsuite/ Implement binary numbers parsing. * gdb.base/printcmds.exp (test_integer_literals_accepted) (test_integer_literals_rejected): New binary tests.
This commit is contained in:
parent
e0ae424066
commit
b5cfddf53b
4 changed files with 35 additions and 1 deletions
|
@ -1,3 +1,8 @@
|
|||
2010-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Implement binary numbers parsing.
|
||||
* c-exp.y (parse_number): New case 'b' and 'B'.
|
||||
|
||||
2010-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
Tristan Gingold <gingold@adacore.com>
|
||||
|
||||
|
|
10
gdb/c-exp.y
10
gdb/c-exp.y
|
@ -1411,6 +1411,16 @@ parse_number (char *p, int len, int parsed_float, YYSTYPE *putithere)
|
|||
}
|
||||
break;
|
||||
|
||||
case 'b':
|
||||
case 'B':
|
||||
if (len >= 3)
|
||||
{
|
||||
p += 2;
|
||||
base = 2;
|
||||
len -= 2;
|
||||
}
|
||||
break;
|
||||
|
||||
case 't':
|
||||
case 'T':
|
||||
case 'd':
|
||||
|
|
|
@ -1,3 +1,9 @@
|
|||
2010-01-11 Jan Kratochvil <jan.kratochvil@redhat.com>
|
||||
|
||||
Implement binary numbers parsing.
|
||||
* gdb.base/printcmds.exp (test_integer_literals_accepted)
|
||||
(test_integer_literals_rejected): New binary tests.
|
||||
|
||||
2010-01-09 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
|
||||
|
||||
* gdb.cell/configure: Regenerate.
|
||||
|
|
|
@ -78,6 +78,13 @@ proc test_integer_literals_accepted {} {
|
|||
gdb_test "p 0xabcdef" " = 11259375"
|
||||
gdb_test "p 0xAbCdEf" " = 11259375"
|
||||
gdb_test "p/x 0x123" " = 0x123"
|
||||
|
||||
# Test various binary values.
|
||||
|
||||
gdb_test "p 0b0" " = 0"
|
||||
gdb_test "p 0b1111" " = 15"
|
||||
gdb_test "p 0B1111" " = 15"
|
||||
gdb_test "p -0b1111" " = -15"
|
||||
}
|
||||
|
||||
proc test_character_literals_accepted {} {
|
||||
|
@ -99,7 +106,8 @@ proc test_character_literals_accepted {} {
|
|||
proc test_integer_literals_rejected {} {
|
||||
global gdb_prompt
|
||||
|
||||
test_print_reject "p 0x"
|
||||
test_print_reject "p 0x"
|
||||
test_print_reject "p 0b"
|
||||
gdb_test "p ''" "(Empty character constant\\.|A character constant must contain at least one character\\.)"
|
||||
gdb_test "p '''" "(Empty character constant\\.|A character constant must contain at least one character\\.)"
|
||||
test_print_reject "p '\\'"
|
||||
|
@ -131,6 +139,11 @@ proc test_integer_literals_rejected {} {
|
|||
|
||||
test_print_reject "p 0xG"
|
||||
test_print_reject "p 0xAG"
|
||||
|
||||
# Test various binary values.
|
||||
|
||||
test_print_reject "p 0b2"
|
||||
test_print_reject "p 0b12"
|
||||
}
|
||||
|
||||
proc test_print_all_chars {} {
|
||||
|
|
Loading…
Reference in a new issue