From: Jan Kratochvil Date: Sat, 2 Jul 2011 19:34:43 +0000 (+0000) Subject: commit 2bdc820adfead6aa7fdb16242280473af1040d4e X-Git-Tag: gdb_7_3-2011-07-26-release~48 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=530d5c6b0441b642f4184b483dcd6a817a418f75;p=thirdparty%2Fbinutils-gdb.git commit 2bdc820adfead6aa7fdb16242280473af1040d4e Author: Keith Seitz Date: Tue May 24 21:00:04 2011 +0000 gdb/ PR breakpoint/12803 * linespec.c (keep_name_info): Add handling for "volatile" keyword. (decode_compound): Unconditionally call keep_name_info. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index d0bb2b472d4..6293da19821 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,9 @@ +2011-07-02 Keith Seitz + + PR breakpoint/12803 + * linespec.c (keep_name_info): Add handling for "volatile" keyword. + (decode_compound): Unconditionally call keep_name_info. + 2011-07-02 Tom Tromey * tracepoint.c (scope_info): Update. diff --git a/gdb/linespec.c b/gdb/linespec.c index 94bb86f90e0..f79df2e42c7 100644 --- a/gdb/linespec.c +++ b/gdb/linespec.c @@ -714,8 +714,7 @@ keep_name_info (char *ptr) if (name_end (ptr)) return remove_trailing_whitespace (start, ptr); - while (isspace (*p)) - ++p; + p = skip_spaces (p); if (*p == '<') ptr = p = find_template_name_end (ptr); @@ -730,12 +729,21 @@ keep_name_info (char *ptr) return remove_trailing_whitespace (start, ptr); /* Keep important keywords. */ - while (isspace (*p)) - ++p; - if (strncmp (p, "const", 5) == 0 - && (isspace (p[5]) || p[5] == '\0' - || strchr (get_gdb_completer_quote_characters (), p[5]) != NULL)) - ptr = p = p + 5; + while (1) + { + char *quotes = get_gdb_completer_quote_characters (); + p = skip_spaces (p); + if (strncmp (p, "const", 5) == 0 + && (isspace (p[5]) || p[5] == '\0' + || strchr (quotes, p[5]) != NULL)) + ptr = p = p + 5; + else if (strncmp (p, "volatile", 8) == 0 + && (isspace (p[8]) || p[8] == '\0' + || strchr (quotes, p[8]) != NULL)) + ptr = p = p + 8; + else + break; + } return remove_trailing_whitespace (start, ptr); } @@ -1573,9 +1581,7 @@ decode_compound (char **argptr, int funfirstline, /* We couldn't find a class, so we're in case 2 above. We check the entire name as a symbol instead. */ - if (current_language->la_language == language_cplus - || current_language->la_language == language_java) - p = keep_name_info (p); + p = keep_name_info (p); copy = (char *) alloca (p - saved_arg2 + 1); memcpy (copy, saved_arg2, p - saved_arg2);