aboutsummaryrefslogtreecommitdiff
path: root/gdb/ser-unix.h
diff options
context:
space:
mode:
authorPaul N. Hilfinger <hilfinger@adacore.com>2013-03-12 09:03:11 +0000
committerPaul N. Hilfinger <hilfinger@adacore.com>2013-03-12 09:03:11 +0000
commit82d049abf18bdffbccf6318a212a8be366a9ee17 (patch)
tree4f700c9780b8c5656859aff09b9f812e874ed068 /gdb/ser-unix.h
parentdad60f8e13c64b699e34d437c1c02b87ae158380 (diff)
downloadgdb-82d049abf18bdffbccf6318a212a8be366a9ee17.zip
gdb-82d049abf18bdffbccf6318a212a8be366a9ee17.tar.gz
gdb-82d049abf18bdffbccf6318a212a8be366a9ee17.tar.bz2
Allow 'thread' to be used as a variable name in expressions.
GDB treats the identifiers 'if', 'thread', and 'task' unconditionally as expression delimiters in Ada mode, which is correct for 'if' and 'task', but wrong for 'thread' in cases such as print thread Borrowing from c-exp.y, we observe that 'thread' must be followed by numerals, whereas identifiers never are and treat them as delimiters only in that case. In the process, the current also refactors and incidentally fixes the code for rewinding the input to before the delimiting tokens. For example, the code watch expr if i > 2 fails because the input is only rewound to just before the 'i', leaving the 'if' as part of the expression (and thus making the rest look like trailing junk rather than a conditional clause). gdb/ChangeLog: * ada-lex.l (rules): Only recognize 'thread' as a delimiter when followed by numerals, as for c-exp.y. Use new rewind_to_char function to rewind the input for expression-delimiting tokens. (rewind_to_char): New function. gdb/testsuite/ChangeLog: * gdb.ada/expr_delims.exp: New file. * gdb.ada/expr_delims/foo.adb: New file. * gdb.ada/expr_delims/pck.ads: New file. * gdb.ada/expr_delims/pck.adb: New file.
Diffstat (limited to 'gdb/ser-unix.h')
0 files changed, 0 insertions, 0 deletions