Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Christophe Lyon <christophe.lyon@st.com>
To: <gdb-patches@sourceware.org>
Subject: Re: [PATCH 11/40] Introduce class completion_tracker & rewrite completion<->readline interaction
Date: Tue, 18 Jul 2017 08:23:00 -0000	[thread overview]
Message-ID: <eadd8b24-bbab-61f6-9177-e1d85e5ac432@st.com> (raw)
In-Reply-To: <560f7c11-e627-6cc6-7b57-fa300dd6f3c2@redhat.com>

On 17/07/2017 15:56, Pedro Alves wrote:
> On 07/14/2017 06:23 PM, Keith Seitz wrote:
>> On 06/02/2017 05:22 AM, Pedro Alves wrote:
>>
>>> Adds a new "completion_tracker" class that is meant to hold everything
>>> about the state of the current completion operation.
>> This is quite close to the approach I attempted in the series I submitted (cough) in 2015.
> Yeah, I'm sorry about that.  As you know, I wasn't involved
> in that review back then, and I had assumed master already contained
> all the patches you had had back then...  After you pointed me at them,
> I considered rebasing on top of them.   But since your patches (naturally)
> were still using VEC (since they predated C++), we'd end touching/redoing
> the same exact same code throughout twice, to work with the
> completion_tracker_t methods.  :-/
>
>> Just have a few minor comments (about comments!).
>>
>>> diff --git a/gdb/completer.c b/gdb/completer.c
>>> index fe69faa..c6e1e28 100644
>>> --- a/gdb/completer.c
>>> +++ b/gdb/completer.c
>>> @@ -429,10 +420,10 @@ backup_text_ptr (const char *p, const char *text)
>>>   /* A completer function for explicit locations.  This function
>>>      completes both options ("-source", "-line", etc) and values.  */
>>>   
>>> -static VEC (char_ptr) *
>>> -explicit_location_completer (struct cmd_list_element *ignore,
>>> -			     struct event_location *location,
>>> -			     const char *text, const char *word)
>>> +static void
>>> +complete_explicit_location (completion_tracker &tracker,
>>> +			    struct event_location *location,
>>> +			    const char *text, const char *word)
>>>   {
>>>     const char *p;
>>>     VEC (char_ptr) *matches = NULL;
>> `matches' is no longer used. [I realize this will disappear in a later patch.]
>>
>>>   /* See completer.h.  */
>>>   
>>> -enum maybe_add_completion_enum
>>> -maybe_add_completion (completion_tracker_t tracker, char *name)
>>> +bool
>>> +completion_tracker::maybe_add_completion (gdb::unique_xmalloc_ptr<char> name)
>>>   {
>> [snip]
>>
>>>   
>>> -  return (htab_elements (tracker) < max_completions
>>> -	  ? MAYBE_ADD_COMPLETION_OK
>>> -	  : MAYBE_ADD_COMPLETION_OK_MAX_REACHED);
>>> +void
>>> +completion_tracker::add_completion (gdb::unique_xmalloc_ptr<char> name)
>>> +{
>>> +  if (!maybe_add_completion (std::move (name)))
>>> +    throw_max_completions_reached_error ();
>>>   }
>>>   
>>>   void
>>> @@ -1075,10 +1075,16 @@ throw_max_completions_reached_error (void)
>>>     throw_error (MAX_COMPLETIONS_REACHED_ERROR, _("Max completions reached."));
>>>   }
>>>   
>>> -/* Generate completions all at once.  Returns a vector of unique strings
>>> -   allocated with xmalloc.  Returns NULL if there are no completions
>>> -   or if max_completions is 0.  If max_completions is non-negative, this will
>>> -   return at most max_completions strings.
>>> +void
>>> +completion_tracker::add_completions (completion_list &&list)
>>> +{
>>> +  for (auto &candidate : list)
>>> +    add_completion (std::move (candidate));
>>> +}
>> Some of the above methods have comments (per convention, "See XYZ.h"), some do not.  [There are a bunch more methods with no comments below this, too.]
>>
>> Is this requirement being relaxed for C++? I certainly wouldn't mind if we started assuming "See XYZ.h" for all methods, but I don't think convention has been discussed/codified yet.
> Indeed, I don't think it's been discussed.  For now, I added the
> comments, but I wouldn't mind relaxing either.
>
>>> +
>>> +/* Build a new C string that is a copy or LCD with the whitespace of
>>> +   ORIG/ORIG_LEN preserved.
>> Is this supposed to be "a copy *of* LCD"?
> Indeed.  an "inline line" in "we want to end up with an input line
> like" was supposed to be "input line".  Gah.
>
>>> +
>>> +/* Helper for gdb_rl_attempted_completion_function, which does most of
>>> +   the work.  This is called by readline to build the match list
>>> +   array, and determining the lowest common denominator.  The real
>> This last sentence isn't right. At its simplest, it says, "This is called, and determining the lowest common denominator." Is that supposed to be, "This is called to build.. and to determine"?
> Yup, thanks.
>
>>> diff --git a/gdb/symtab.c b/gdb/symtab.c
>>> index 09c9411b..cd78a16 100644
>>> --- a/gdb/symtab.c
>>> +++ b/gdb/symtab.c
>>>   
>>>   /* Return a vector of all symbols (regardless of class) which begin by
>>>      matching TEXT.  If the answer is no symbols, then the return value
>>>      is NULL.  */
>> This comment needs updating ("Return a vector...").
> Did that now.
>
>>>   
>>> -VEC (char_ptr) *
>>> -make_symbol_completion_list (const char *text, const char *word)
>>> +void
>>> +collect_symbol_completion_matches (completion_tracker &tracker,
>>> +				   const char *text, const char *word)
>>>   {
>>> -  return current_language->la_make_symbol_completion_list (text, word,
>>> -							   TYPE_CODE_UNDEF);
>>> +  current_language->la_collect_symbol_completion_matches (tracker,
>>> +							  text, word,
>>> +							  TYPE_CODE_UNDEF);
>>>   }
>>>   
>>> -/* Like make_symbol_completion_list, but only return STRUCT_DOMAIN
>>> -   symbols whose type code is CODE.  */
>>> +/* Like collect_symbol_completion_matches, but only return
>>> +   STRUCT_DOMAIN symbols whose type code is CODE.  */
>>>   
>> s/return/collect/ ?
> Fixed.
>
>>> -VEC (char_ptr) *
>>> -make_symbol_completion_type (const char *text, const char *word,
>>> -			     enum type_code code)
>>> +void
>>> +collect_symbol_completion_matches_type (completion_tracker &tracker,
>>> +					const char *text, const char *word,
>>> +					enum type_code code)
>>>   {
>>>     gdb_assert (code == TYPE_CODE_UNION
>>>   	      || code == TYPE_CODE_STRUCT
>>>   	      || code == TYPE_CODE_ENUM);
>>> -  return current_language->la_make_symbol_completion_list (text, word, code);
>>> +  current_language->la_collect_symbol_completion_matches (tracker,
>>> +							  text, word, code);
>>>   }
>>>   
>>> @@ -5503,17 +5419,16 @@ maybe_add_partial_symtab_filename (const char *filename, const char *fullname,
>>>   
>>>   /* Return a vector of all source files whose names begin with matching
>>>      TEXT.  The file names are looked up in the symbol tables of this
>>> -   program.  If the answer is no matchess, then the return value is
>>> -   NULL.  */
>>> +   program.  */
>> This comment also needs updating ("Return a vector...").
>>
> Thanks much Keith.  I pushed the patch with the below squashed in.
>
> (While adding the missing comments I noticed that
> throw_max_completions_reached_error could be static, and then
> since there's only one caller, I inlined it.)

Hi Pedro,

Since you committed this patch, I've noticed that gdb fails to builds for some targets, such as arm-none-eabi (build is OK for arm-linux-gnueabi)

The build log says:

../../../gdb/remote-sim.c: In function 'void _initialize_remote_sim()':
../../../gdb/remote-sim.c:1350:46: error: invalid conversion from 'VEC_char_ptr* (*)(cmd_list_element*, const char*, const char*)' to 'void (*)(cmd_list_element*, completion_tracker&, const char*, const char*)' [-fpermissive]
    set_cmd_completer (c, sim_command_completer);
                                               ^
In file included from ../../../gdb/completer.h:21:0,
                  from ../../../gdb/symtab.h:28,
                  from ../../../gdb/language.h:26,
                  from ../../../gdb/frame.h:72,
                  from ../../../gdb/gdbarch.h:39,
                  from ../../../gdb/defs.h:636,
                  from ../../../gdb/remote-sim.c:23:
../../../gdb/command.h:197:13: error:   initializing argument 2 of 'void set_cmd_completer(cmd_list_element*, void (*)(cmd_list_element*, completion_tracker&, const char*, const char*))' [-fpermissive]
  extern void set_cmd_completer (struct cmd_list_element *, completer_ftype *);
make[2]: *** [remote-sim.o] Error 1

Can you have a look?

Thanks

> Thanks,
> Pedro Alves
>
> diff --git i/gdb/completer.c w/gdb/completer.c
> index c6e1e28..85e6d88 100644
> --- i/gdb/completer.c
> +++ w/gdb/completer.c
> @@ -426,7 +426,6 @@ complete_explicit_location (completion_tracker &tracker,
>   			    const char *text, const char *word)
>   {
>     const char *p;
> -  VEC (char_ptr) *matches = NULL;
>   
>     /* Find the beginning of the word.  This is necessary because
>        we need to know if we are completing an option name or value.  We
> @@ -1029,6 +1028,8 @@ completion_tracker::completion_tracker ()
>   				      NULL, xcalloc, xfree);
>   }
>   
> +/* See completer.h.  */
> +
>   completion_tracker::~completion_tracker ()
>   {
>     xfree (m_lowest_common_denominator);
> @@ -1062,18 +1063,16 @@ completion_tracker::maybe_add_completion (gdb::unique_xmalloc_ptr<char> name)
>     return true;
>   }
>   
> +/* See completer.h.  */
> +
>   void
>   completion_tracker::add_completion (gdb::unique_xmalloc_ptr<char> name)
>   {
>     if (!maybe_add_completion (std::move (name)))
> -    throw_max_completions_reached_error ();
> +    throw_error (MAX_COMPLETIONS_REACHED_ERROR, _("Max completions reached."));
>   }
>   
> -void
> -throw_max_completions_reached_error (void)
> -{
> -  throw_error (MAX_COMPLETIONS_REACHED_ERROR, _("Max completions reached."));
> -}
> +/* See completer.h.  */
>   
>   void
>   completion_tracker::add_completions (completion_list &&list)
> @@ -1337,7 +1336,7 @@ completion_tracker::recompute_lowest_common_denominator (const char *new_match)
>       }
>   }
>   
> -/* Build a new C string that is a copy or LCD with the whitespace of
> +/* Build a new C string that is a copy of LCD with the whitespace of
>      ORIG/ORIG_LEN preserved.
>   
>      Say the user is completing a symbol name, with spaces, like:
> @@ -1348,7 +1347,7 @@ completion_tracker::recompute_lowest_common_denominator (const char *new_match)
>   
>        "foo(int)"
>   
> -   we want to end up with an inline line like:
> +   we want to end up with an input line like:
>   
>        "foo ( int)"
>         ^^^^^^^      => text from LCD [1], whitespace from ORIG preserved.
> @@ -1402,6 +1401,8 @@ expand_preserving_ws (const char *orig, size_t orig_len,
>     return xstrdup (res.c_str ());
>   }
>   
> +/* See completer.h.  */
> +
>   completion_result
>   completion_tracker::build_completion_result (const char *text,
>   					     int start, int end)
> @@ -1443,11 +1444,15 @@ completion_tracker::build_completion_result (const char *text,
>       }
>   }
>   
> +/* See completer.h  */
> +
>   completion_result::completion_result ()
>     : match_list (NULL), number_matches (0),
>       completion_suppress_append (false)
>   {}
>   
> +/* See completer.h  */
> +
>   completion_result::completion_result (char **match_list_,
>   				      size_t number_matches_,
>   				      bool completion_suppress_append_)
> @@ -1456,11 +1461,15 @@ completion_result::completion_result (char **match_list_,
>       completion_suppress_append (completion_suppress_append_)
>   {}
>   
> +/* See completer.h  */
> +
>   completion_result::~completion_result ()
>   {
>     reset_match_list ();
>   }
>   
> +/* See completer.h  */
> +
>   completion_result::completion_result (completion_result &&rhs)
>   {
>     if (this == &rhs)
> @@ -1473,6 +1482,8 @@ completion_result::completion_result (completion_result &&rhs)
>     rhs.number_matches = 0;
>   }
>   
> +/* See completer.h  */
> +
>   char **
>   completion_result::release_match_list ()
>   {
> @@ -1489,6 +1500,8 @@ compare_cstrings (const char *str1, const char *str2)
>     return strcmp (str1, str2) < 0;
>   }
>   
> +/* See completer.h  */
> +
>   void
>   completion_result::sort_match_list ()
>   {
> @@ -1502,6 +1515,8 @@ completion_result::sort_match_list ()
>       }
>   }
>   
> +/* See completer.h  */
> +
>   void
>   completion_result::reset_match_list ()
>   {
> @@ -1515,9 +1530,9 @@ completion_result::reset_match_list ()
>   }
>   
>   /* Helper for gdb_rl_attempted_completion_function, which does most of
> -   the work.  This is called by readline to build the match list
> -   array, and determining the lowest common denominator.  The real
> -   matches list starts at match[1], while match[0] is the slot holding
> +   the work.  This is called by readline to build the match list array
> +   and to determine the lowest common denominator.  The real matches
> +   list starts at match[1], while match[0] is the slot holding
>      readline's idea of the lowest common denominator of all matches,
>      which is what readline replaces the completion "word" with.
>   
> diff --git i/gdb/completer.h w/gdb/completer.h
> index e554bff..4b3b188 100644
> --- i/gdb/completer.h
> +++ w/gdb/completer.h
> @@ -274,9 +274,4 @@ extern const char *skip_quoted (const char *);
>   
>   extern int max_completions;
>   
> -
> -/* Wrapper to throw MAX_COMPLETIONS_REACHED_ERROR.  */
> -
> -extern void throw_max_completions_reached_error (void);
> -
>   #endif /* defined (COMPLETER_H) */
> diff --git i/gdb/symtab.c w/gdb/symtab.c
> index b70a818..57fb355 100644
> --- i/gdb/symtab.c
> +++ w/gdb/symtab.c
> @@ -5217,9 +5217,8 @@ default_collect_symbol_completion_matches (completion_tracker &tracker,
>   							     code);
>   }
>   
> -/* Return a vector of all symbols (regardless of class) which begin by
> -   matching TEXT.  If the answer is no symbols, then the return value
> -   is NULL.  */
> +/* Collect all symbols (regardless of class) which begin by matching
> +   TEXT.  */
>   
>   void
>   collect_symbol_completion_matches (completion_tracker &tracker,
> @@ -5230,7 +5229,7 @@ collect_symbol_completion_matches (completion_tracker &tracker,
>   							  TYPE_CODE_UNDEF);
>   }
>   
> -/* Like collect_symbol_completion_matches, but only return
> +/* Like collect_symbol_completion_matches, but only collect
>      STRUCT_DOMAIN symbols whose type code is CODE.  */
>   
>   void
> @@ -5406,7 +5405,7 @@ maybe_add_partial_symtab_filename (const char *filename, const char *fullname,
>       }
>   }
>   
> -/* Return a vector of all source files whose names begin with matching
> +/* Return a list of all source files whose names begin with matching
>      TEXT.  The file names are looked up in the symbol tables of this
>      program.  */
>   
> .
>


  reply	other threads:[~2017-07-18  8:23 UTC|newest]

Thread overview: 182+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-02 12:22 [PATCH 00/40] C++ debugging improvements: breakpoints, TAB completion, more Pedro Alves
2017-06-02 12:22 ` [PATCH 06/40] Expression completer should not match explicit location options Pedro Alves
2017-06-29  8:29   ` Yao Qi
2017-06-29 10:56     ` Pedro Alves
2017-06-29 11:08       ` Pedro Alves
2017-06-29 15:23         ` Pedro Alves
2017-06-29 11:24       ` Yao Qi
2017-06-29 15:25         ` Pedro Alves
2017-06-02 12:22 ` [PATCH 08/40] completion_list_add_name wrapper functions Pedro Alves
2017-06-27 12:56   ` Yao Qi
2017-06-27 15:35     ` Pedro Alves
2017-06-02 12:22 ` [PATCH 02/40] Eliminate make_cleanup_obstack_free, introduce auto_obstack Pedro Alves
2017-06-26 13:47   ` Yao Qi
2017-06-27 10:25     ` Pedro Alves
2017-06-28 10:36   ` Yao Qi
2017-06-28 14:39     ` Pedro Alves
2017-06-28 21:33       ` Yao Qi
2017-06-02 12:22 ` [PATCH 14/40] Introduce CP_OPERATOR_STR/CP_OPERATOR_LEN and use throughout Pedro Alves
2017-07-14 18:04   ` Keith Seitz
2017-07-17 14:55     ` Pedro Alves
2017-06-02 12:22 ` [PATCH 03/40] Fix gdb.base/completion.exp with --target_board=dwarf4-gdb-index Pedro Alves
2017-07-13 20:28   ` Keith Seitz
2017-07-14 16:02     ` Pedro Alves
2017-06-02 12:22 ` [PATCH 01/40] Make gdb.base/dmsym.exp independent of "set language ada" Pedro Alves
2017-07-18 19:42   ` Simon Marchi
2017-07-20 17:00     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 34/40] Make strcmp_iw NOT ignore whitespace in the middle of tokens Pedro Alves
2017-08-09 15:48   ` Keith Seitz
2017-11-24 23:38     ` [pushed] " Pedro Alves
2017-06-02 12:23 ` [PATCH 37/40] Fix completing an empty string Pedro Alves
2017-08-09 18:01   ` Keith Seitz
2017-11-25  0:28     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 10/40] Clean up "completer_handle_brkchars" callback handling Pedro Alves
2017-07-13 21:08   ` Keith Seitz
2017-07-17 11:14     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 27/40] Make cp_remove_params return a unique_ptr Pedro Alves
2017-08-08 20:35   ` Keith Seitz
2017-10-09 15:13     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 35/40] Comprehensive C++ linespec/completer tests Pedro Alves
2017-08-09 17:30   ` Keith Seitz
2017-11-24 16:25     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 36/40] Add comprehensive C++ operator linespec/location/completion tests Pedro Alves
2017-08-09 17:59   ` Keith Seitz
2017-11-25  0:18     ` [pushed] " Pedro Alves
2017-11-30 15:43       ` Yao Qi
2017-11-30 16:06         ` Pedro Alves
2017-11-30 16:35           ` [pushed] Fix gdb.linespec/cpls-ops.exp on 32-bit (Re: [pushed] Re: [PATCH 36/40] Add comprehensive C++ operator linespec/location/completion tests) Pedro Alves
2017-06-02 12:23 ` [PATCH 15/40] Rewrite/enhance explicit locations completer, parse left->right Pedro Alves
2017-07-14 20:55   ` Keith Seitz
2017-07-17 19:24     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 39/40] Breakpoints in symbols with ABI tags (PR c++/19436) Pedro Alves
2017-08-09 19:34   ` Keith Seitz
2017-11-27 17:14     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 11/40] Introduce class completion_tracker & rewrite completion<->readline interaction Pedro Alves
2017-07-14 17:23   ` Keith Seitz
2017-07-17 13:56     ` Pedro Alves
2017-07-18  8:23       ` Christophe Lyon [this message]
     [not found]         ` <845f435e-d3d5-b327-4e3a-ce9434bd6ffd@redhat.com>
2017-07-18 10:42           ` [pushed] Fix GDB builds that include the simulator (Re: [PATCH 11/40] Introduce class completion_tracker & rewrite completion<->readline interaction) Pedro Alves
2018-03-05 21:43   ` [PATCH 11/40] Introduce class completion_tracker & rewrite completion<->readline interaction Simon Marchi
2017-06-02 12:23 ` [PATCH 18/40] A smarter linespec completer Pedro Alves
2017-07-15  0:07   ` Keith Seitz
2017-07-17 18:21     ` Pedro Alves
2017-07-17 19:02       ` Keith Seitz
2017-07-17 19:33         ` Pedro Alves
2017-06-02 12:23 ` [PATCH 19/40] Fix cp_find_first_component_aux bug Pedro Alves
2017-07-17 19:17   ` Keith Seitz
2017-07-17 19:50     ` Pedro Alves
2017-07-17 21:38       ` Keith Seitz
2017-07-20 17:03         ` Pedro Alves
2017-06-02 12:23 ` [PATCH 40/40] Document breakpoints / linespec & co improvements (manual + NEWS) Pedro Alves
2017-06-02 13:01   ` Eli Zaretskii
2017-06-02 13:33     ` Pedro Alves
2017-06-21 15:50       ` Pedro Alves
2017-06-21 19:14         ` Pedro Alves
2017-06-22 19:45           ` Eli Zaretskii
2017-06-22 19:42         ` Eli Zaretskii
2017-06-21 13:32     ` Pedro Alves
2017-06-21 18:26       ` Eli Zaretskii
2017-06-21 19:01         ` Pedro Alves
2017-06-22 19:43           ` Eli Zaretskii
2017-06-02 12:23 ` [PATCH 28/40] lookup_name_info::make_ignore_params Pedro Alves
2017-08-08 20:55   ` Keith Seitz
2017-11-08 16:18     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 13/40] Introduce strncmp_iw Pedro Alves
2017-06-29  8:42   ` Yao Qi
2017-07-17 19:16     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 09/40] Rename make_symbol_completion_list_fn -> symbol_completer Pedro Alves
2017-06-28 21:40   ` Yao Qi
2017-07-13 20:46   ` Keith Seitz
2017-07-17 11:00     ` Pedro Alves
2017-06-02 12:23 ` [PATCH 38/40] Use TOLOWER in SYMBOL_HASH_NEXT Pedro Alves
2017-08-09 19:25   ` Keith Seitz
2017-11-25  0:35     ` [pushed] " Pedro Alves
2017-06-02 12:28 ` [PATCH 24/40] Per-language symbol name hashing algorithm Pedro Alves
2017-07-18 17:33   ` Keith Seitz
2017-07-20 18:53     ` Pedro Alves
2017-11-08 16:08       ` Pedro Alves
2017-06-02 12:29 ` [PATCH 21/40] Use SYMBOL_MATCHES_SEARCH_NAME some more Pedro Alves
2017-07-17 21:39   ` Keith Seitz
2017-07-20 17:08     ` Pedro Alves
2017-06-02 12:29 ` [PATCH 05/40] command.h: Include scoped_restore_command.h Pedro Alves
2017-06-27 11:30   ` Yao Qi
2017-06-27 11:45     ` Pedro Alves
2017-06-27 11:52       ` Pedro Alves
2017-06-27 12:03         ` Pedro Alves
2017-06-27 15:46           ` [PATCH 05/40] command.h: Include common/scoped_restore.h Pedro Alves
2017-06-28  7:54             ` Yao Qi
2017-06-28 14:20               ` Pedro Alves
2017-06-02 12:29 ` [PATCH 17/40] Linespec lexing and C++ operators Pedro Alves
2017-07-14 21:45   ` Keith Seitz
2017-07-17 19:34     ` Pedro Alves
2017-06-02 12:29 ` [PATCH 07/40] objfile_per_bfd_storage non-POD Pedro Alves
2017-06-27 12:00   ` Yao Qi
2017-06-27 15:30     ` Pedro Alves
2017-06-02 12:29 ` [PATCH 16/40] Explicit locations -label completer Pedro Alves
2017-07-14 21:32   ` Keith Seitz
2017-06-02 12:29 ` [PATCH 12/40] "complete" command and completion word break characters Pedro Alves
2017-07-14 17:50   ` Keith Seitz
2017-07-17 14:36     ` Pedro Alves
2017-06-02 12:29 ` [PATCH 33/40] Make the linespec/location completer ignore data symbols Pedro Alves
2017-08-09 15:42   ` Keith Seitz
2017-11-08 16:22     ` Pedro Alves
2017-06-02 12:30 ` [PATCH 32/40] Make "break foo" find "A::foo", A::B::foo", etc. [C++ and wild matching] Pedro Alves
2017-08-08 23:48   ` Keith Seitz
2017-11-22 16:48     ` Pedro Alves
2017-11-24 16:48       ` Pedro Alves
2017-11-24 16:57         ` Pedro Alves
2017-11-28  0:39         ` Keith Seitz
2017-11-28  0:02       ` Keith Seitz
2017-11-28  0:21         ` Pedro Alves
2017-11-28  0:42           ` Keith Seitz
2017-06-02 12:30 ` [PATCH 30/40] Use search_domain::FUNCTIONS_DOMAIN when setting breakpoints Pedro Alves
2017-08-08 21:07   ` Keith Seitz
2017-11-08 16:20     ` Pedro Alves
2017-06-02 12:30 ` [PATCH 20/40] Eliminate block_iter_name_* Pedro Alves
2017-07-17 19:47   ` Keith Seitz
2017-07-20 17:05     ` Pedro Alves
2017-06-02 12:31 ` [PATCH 22/40] get_int_var_value Pedro Alves
2017-07-17 22:11   ` Keith Seitz
2017-07-20 17:15     ` Pedro Alves
2017-06-02 12:31 ` [PATCH 29/40] Simplify completion_list_add_name | remove sym_text / sym_text_len Pedro Alves
2017-08-08 20:59   ` Keith Seitz
2017-11-08 16:19     ` Pedro Alves
2017-06-02 12:31 ` [PATCH 04/40] Fix TAB-completion + .gdb_index slowness (generalize filename_seen_cache) Pedro Alves
2017-07-13 20:41   ` Keith Seitz
2017-07-14 19:40     ` Pedro Alves
2017-07-17 10:51       ` Pedro Alves
2017-06-02 12:33 ` [PATCH 31/40] Handle custom completion match prefix / LCD Pedro Alves
2017-08-08 21:28   ` Keith Seitz
2017-11-27 17:11     ` Pedro Alves
2017-06-02 12:39 ` [PATCH 23/40] Make language_def O(1) Pedro Alves
2017-07-17 23:03   ` Keith Seitz
2017-07-20 17:40     ` Pedro Alves
2017-07-20 18:12       ` Get rid of "set language local"? (was: Re: [PATCH 23/40] Make language_def O(1)) Pedro Alves
2017-07-20 23:44         ` Matt Rice
2017-06-02 12:39 ` [PATCH 26/40] Optimize .gdb_index symbol name searching Pedro Alves
2017-08-08 20:32   ` Keith Seitz
2017-11-08 16:14     ` Pedro Alves
2017-11-08 16:16       ` [pushed] Reorder/reindent dw2_expand_symtabs_matching & friends (Re: [PATCH 26/40] Optimize .gdb_index symbol name searching) Pedro Alves
2017-11-18  5:23   ` [PATCH 26/40] Optimize .gdb_index symbol name searching Simon Marchi
2017-11-20  0:33     ` Pedro Alves
2017-11-20  0:42       ` [PATCH 3/3] Fix mapped_index::find_name_components_bounds upper bound computation Pedro Alves
2017-11-20  3:17         ` Simon Marchi
2017-11-20  0:42       ` [PATCH 2/3] Unit test name-component bounds searching directly Pedro Alves
2017-11-20  3:16         ` Simon Marchi
2017-11-20 14:17           ` Pedro Alves
2017-11-20  0:42       ` [PATCH 1/3] 0xff chars in name components table; cp-name-parser lex UTF-8 identifiers Pedro Alves
2017-11-20  1:38         ` Simon Marchi
2017-11-20 11:56           ` Pedro Alves
2017-11-20 16:50             ` Simon Marchi
2017-11-21  0:11               ` Pedro Alves
2017-06-02 12:39 ` [PATCH 25/40] Introduce lookup_name_info and generalize Ada's FULL/WILD name matching Pedro Alves
2017-07-18 20:14   ` Keith Seitz
2017-07-18 22:31     ` Pedro Alves
2017-07-20 19:00       ` Pedro Alves
2017-07-20 19:06         ` Pedro Alves
2017-08-08 20:29           ` Keith Seitz
2017-10-19 17:36             ` Pedro Alves
2017-11-01 15:38               ` Joel Brobecker
2017-11-08 16:10                 ` Pedro Alves
2017-11-08 22:15                   ` Joel Brobecker
2017-06-02 15:26 ` [PATCH 00/40] C++ debugging improvements: breakpoints, TAB completion, more Pedro Alves

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=eadd8b24-bbab-61f6-9177-e1d85e5ac432@st.com \
    --to=christophe.lyon@st.com \
    --cc=gdb-patches@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox