diff options
author | Keith Seitz <keiths@redhat.com> | 2011-03-16 21:12:12 +0000 |
---|---|---|
committer | Keith Seitz <keiths@redhat.com> | 2011-03-16 21:12:12 +0000 |
commit | c00f848495bbc6e6b24d4ec81d64a09f5759bf3d (patch) | |
tree | d95cbfa0489f1fff9ebe2d1d1d9fc6a6069ff4de /gdb/cli | |
parent | 598997c828bff87692dc5addca8b7961f227918b (diff) | |
download | gdb-c00f848495bbc6e6b24d4ec81d64a09f5759bf3d.zip gdb-c00f848495bbc6e6b24d4ec81d64a09f5759bf3d.tar.gz gdb-c00f848495bbc6e6b24d4ec81d64a09f5759bf3d.tar.bz2 |
* linespec.c (find_methods): Canonicalize NAME before looking
up the symbol.
(name_end): New function.
(keep_name_info): New function.
(decode_line_1): Use keep_name_info.
(decode_compound): Likewise.
* cli/cli-utils.h (remove_trailing_whitespace): New function.
* cli/cli-utils.c (remove_trailing_whitespace): Likewise.
PR c++/12273
* linespec.c (locate_first_half): Keep overload information, too.
(decode_compound): Use a string to represent break characters
to escape the loop.
If P points to a break character, do not increment it.
For C++ and Java, keep overload information and relevant keywords.
If we cannot find a symbol, search the minimal symbols.
PR c++/11734
* linespec.c (decode_compound): Rename SAVED_ARG to
THE_REAL_SAVED_ARG.
Make a copy of THE_REAL_SAVED_ARG in SAVED_ARG and strip
single-quotes.
Pass a valid block to lookup_symbol.
(lookup_prefix_sym): Likewise.
(find_method): Construct search name based on SYM_CLASS instead
of SAVED_ARG.
* psymtab.c (lookup_partial_symbol): Add language parameter.
(lookup_symbol_aux_psymtabs): Likewise.
Don't assume that the psymtab we found was the right one. Search
for the desired symbol in the symtab to be certain.
(psymtab_search_name): New function.
(lookup_partial_symbol): Use psymtab_search_name.
Add language parameter.
(read_symtabs_for_function): Add language parameter and pass to
lookup_partial_symbol.
(find_symbol_file_from_partial): Likewise.
Diffstat (limited to 'gdb/cli')
-rw-r--r-- | gdb/cli/cli-utils.c | 11 | ||||
-rw-r--r-- | gdb/cli/cli-utils.h | 4 |
2 files changed, 15 insertions, 0 deletions
diff --git a/gdb/cli/cli-utils.c b/gdb/cli/cli-utils.c index 2cce068..62a2f12 100644 --- a/gdb/cli/cli-utils.c +++ b/gdb/cli/cli-utils.c @@ -234,3 +234,14 @@ skip_to_space (char *chp) chp++; return chp; } + +/* See documentation in cli-utils.h. */ + +char * +remove_trailing_whitespace (const char *start, char *s) +{ + while (s > start && isspace (*(s - 1))) + --s; + + return s; +} diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h index 2954c46..8a6e5b3 100644 --- a/gdb/cli/cli-utils.h +++ b/gdb/cli/cli-utils.h @@ -99,4 +99,8 @@ extern char *skip_spaces (char *inp); extern char *skip_to_space (char *inp); +/* Reverse S to the last non-whitespace character without skipping past + START. */ + +extern char *remove_trailing_whitespace (const char *start, char *s); #endif /* CLI_UTILS_H */ |