Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Tom Tromey <tom@tromey.com>
Cc: gdb-patches@sourceware.org
Subject: Re: [RFA 19/22] Convert tid_range_parser to class
Date: Tue, 04 Oct 2016 19:24:00 -0000	[thread overview]
Message-ID: <42bd9696-cea5-5f39-ce03-1b223b5ed6fc@redhat.com> (raw)
In-Reply-To: <926126cb-b3c5-340b-ac1c-5bc14ca41bf9@redhat.com>

On 10/01/2016 12:23 AM, Pedro Alves wrote:
> On 09/30/2016 03:07 PM, Tom Tromey wrote:
>>>>>>> "Pedro" == Pedro Alves <palves@redhat.com> writes:
>>
>> Pedro> Whoops, we ended up duplicating work here.
>>
>> Oops :) But no big deal.
>>
>> Pedro> Additional differences compared to yours are:
>> Pedro> - "bool" instead of "int".
>> Pedro> - "m_" prefixes.
>>
>> Aha, the m_ prefix.  Cancel that earlier question...
>>
>> Pedro> Let me know what you think.  It's super fine with me to rebase
>> Pedro> mine on top of yours.  Did you have a follow up patch for
>> Pedro> get_number_or_range too, perhaps?
>>
>> I don't.  How about I just drop my patch?  That seems simplest to me.
> 
> OK.  I'll look at your patch in more detail and see what could be
> merged in.  I'll add your name to the ChangeLog.
> 
>>
>> Pedro>  void
>> Pedro> -init_number_or_range (struct get_number_or_range_state *state,
>> Pedro> -		      const char *string)
>> Pedro> +number_or_range_parser::init (const char *string)
>> Pedro>  {
>> Pedro> -  memset (state, 0, sizeof (*state));
>> Pedro> -  state->string = string;
>> Pedro> +  memset (this, 0, sizeof (*this));
>>
>> I think it's better to do explicit initialization.
> 
> I'll do this.
> 
>> This will bite if this class ever is changed to have a vtable (unlikely
>> but it's better, IMO, to set a good example).
> 
> Yeah, we'd notice bad things immediately, but I agree with setting
> a good example.

I did the change below locally.  I was looking at string() vs
get_string(), and not being super happy with either.  string()
is maybe too generic, doesn't really convey what the string is about,
and the get_ in get_string() makes me go "the other get_ members are about
parsing/producing a number, while this is peeking at parser state".  So in
the style of xkcd 927, I thought of an alternative name -- cur_tok(),
which seems to be at least somewhat of a common field/method name in
parser lingo, according to google.

I've also renamed get_next to get_number:

-      int gotnum = parser.get_next ();
+      int gotnum = parser.get_number ();

which seems more consistent.

Got rid of the memset too.

I'm now looking at finished() vs is_qualified() and pondering
whether to do something about that little inconsistency.  :-)

Anyway, I have to disappear now.  Will continue later.

From 4ae2903eee5b5c04f56658a02c486ba4c8edcd5f Mon Sep 17 00:00:00 2001
From: Pedro Alves <palves@redhat.com>
Date: Tue, 4 Oct 2016 20:14:56 +0100
Subject: [PATCH] address review

---
 gdb/breakpoint.c    |  6 +++---
 gdb/cli/cli-utils.c | 28 ++++++++++++++++------------
 gdb/cli/cli-utils.h | 18 +++++++++---------
 gdb/inferior.c      |  6 +++---
 gdb/linespec.c      |  2 +-
 gdb/memattr.c       |  6 +++---
 gdb/printcmd.c      |  4 ++--
 gdb/reverse.c       |  4 ++--
 gdb/thread.c        |  7 +++----
 gdb/tid-parse.c     | 32 ++++++++++++++++----------------
 gdb/tid-parse.h     | 12 ++++++------
 11 files changed, 64 insertions(+), 61 deletions(-)

diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 6b47541..32d6a95 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -14783,10 +14783,10 @@ map_breakpoint_numbers (char *args, void (*function) (struct breakpoint *,
 
   while (!parser.finished ())
     {
-      const char *p = parser.string ();
+      const char *p = parser.cur_tok ();
       bool match = false;
 
-      num = parser.get_next ();
+      num = parser.get_number ();
       if (num == 0)
 	{
 	  warning (_("bad breakpoint number at or near '%s'"), p);
@@ -15639,7 +15639,7 @@ get_tracepoint_by_number (char **arg,
   if (parser != NULL)
     {
       gdb_assert (!parser->finished ());
-      tpnum = parser->get_next ();
+      tpnum = parser->get_number ();
     }
   else if (arg == NULL || *arg == NULL || ! **arg)
     tpnum = tracepoint_count;
diff --git a/gdb/cli/cli-utils.c b/gdb/cli/cli-utils.c
index 379f341..0fb68f2 100644
--- a/gdb/cli/cli-utils.c
+++ b/gdb/cli/cli-utils.c
@@ -131,14 +131,18 @@ number_or_range_parser::number_or_range_parser (const char *string)
 void
 number_or_range_parser::init (const char *string)
 {
-  memset (this, 0, sizeof (*this));
-  m_string = string;
+  m_finished = false;
+  m_cur_tok = string;
+  m_last_retval = 0;
+  m_end_value = 0;
+  m_end_ptr = NULL;
+  m_in_range = false;
 }
 
 /* See documentation in cli-utils.h.  */
 
 int
-number_or_range_parser::get_next ()
+number_or_range_parser::get_number ()
 {
   if (m_in_range)
     {
@@ -150,16 +154,16 @@ number_or_range_parser::get_next ()
       if (++m_last_retval == m_end_value)
 	{
 	  /* End of range reached; advance token pointer.  */
-	  m_string = m_end_ptr;
+	  m_cur_tok = m_end_ptr;
 	  m_in_range = false;
 	}
     }
-  else if (*m_string != '-')
+  else if (*m_cur_tok != '-')
     {
-      /* Default case: state->string is pointing either to a solo
+      /* Default case: state->m_cur_tok is pointing either to a solo
 	 number, or to the first number of a range.  */
-      m_last_retval = get_number_trailer (&m_string, '-');
-      if (*m_string == '-')
+      m_last_retval = get_number_trailer (&m_cur_tok, '-');
+      if (*m_cur_tok == '-')
 	{
 	  const char **temp;
 
@@ -168,7 +172,7 @@ number_or_range_parser::get_next ()
 	     and also remember the end of the final token.  */
 
 	  temp = &m_end_ptr;
-	  m_end_ptr = skip_spaces_const (m_string + 1);
+	  m_end_ptr = skip_spaces_const (m_cur_tok + 1);
 	  m_end_value = get_number_const (temp);
 	  if (m_end_value < m_last_retval)
 	    {
@@ -179,7 +183,7 @@ number_or_range_parser::get_next ()
 	      /* Degenerate range (number1 == number2).  Advance the
 		 token pointer so that the range will be treated as a
 		 single number.  */
-	      m_string = m_end_ptr;
+	      m_cur_tok = m_end_ptr;
 	    }
 	  else
 	    m_in_range = true;
@@ -187,7 +191,7 @@ number_or_range_parser::get_next ()
     }
   else
     error (_("negative value"));
-  m_finished = *m_string == '\0';
+  m_finished = *m_cur_tok == '\0';
   return m_last_retval;
 }
 
@@ -222,7 +226,7 @@ number_is_in_list (const char *list, int number)
   number_or_range_parser parser (list);
   while (!parser.finished ())
     {
-      int gotnum = parser.get_next ();
+      int gotnum = parser.get_number ();
 
       if (gotnum == 0)
 	error (_("Args must be numbers or '$' variables."));
diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h
index 41c3a58..ab3f122 100644
--- a/gdb/cli/cli-utils.h
+++ b/gdb/cli/cli-utils.h
@@ -62,11 +62,11 @@ public:
      each call it will return the next value in the range.
 
      At the beginning of parsing a range, the char pointer
-     STATE->string will be advanced past <number1> and left pointing
-     at the '-' token.  Subsequent calls will not advance the pointer
-     until the range is completed.  The call that completes the range
-     will advance the pointer past <number2>.  */
-  int get_next ();
+     STATE->m_cur_tok will be advanced past <number1> and left
+     pointing at the '-' token.  Subsequent calls will not advance the
+     pointer until the range is completed.  The call that completes
+     the range will advance the pointer past <number2>.  */
+  int get_number ();
 
   /* Setup internal state such that get_next() returns numbers in the
      START_VALUE to END_VALUE range.  END_PTR is where the string is
@@ -80,8 +80,8 @@ public:
 
   /* Return the string being parsed.  When parsing has finished, this
      points past the last parsed token.  */
-  const char *string ()
-  { return m_string; }
+  const char *cur_tok ()
+  { return m_cur_tok; }
 
   /* True when parsing a range.  */
   bool in_range ()
@@ -95,7 +95,7 @@ public:
   void skip_range ()
   {
     gdb_assert (m_in_range);
-    m_string = m_end_ptr;
+    m_cur_tok = m_end_ptr;
   }
 
 private:
@@ -104,7 +104,7 @@ private:
 
   /* The string being parsed.  When parsing has finished, this points
      past the last parsed token.  */
-  const char *m_string;
+  const char *m_cur_tok;
 
   /* Last value returned.  */
   int m_last_retval;
diff --git a/gdb/inferior.c b/gdb/inferior.c
index 836adc9..1602483 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -659,7 +659,7 @@ detach_inferior_command (char *args, int from_tty)
   number_or_range_parser parser (args);
   while (!parser.finished ())
     {
-      int num = parser.get_next ();
+      int num = parser.get_number ();
 
       if (!valid_gdb_inferior_id (num))
 	{
@@ -698,7 +698,7 @@ kill_inferior_command (char *args, int from_tty)
   number_or_range_parser parser (args);
   while (!parser.finished ())
     {
-      int num = parser.get_next ();
+      int num = parser.get_number ();
 
       if (!valid_gdb_inferior_id (num))
 	{
@@ -790,7 +790,7 @@ remove_inferior_command (char *args, int from_tty)
   number_or_range_parser parser (args);
   while (!parser.finished ())
     {
-      int num = parser.get_next ();
+      int num = parser.get_number ();
       struct inferior *inf = find_inferior_id (num);
 
       if (inf == NULL)
diff --git a/gdb/linespec.c b/gdb/linespec.c
index 7b1a77e..5182b45 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -1411,7 +1411,7 @@ decode_line_2 (struct linespec_state *self,
   number_or_range_parser parser (args);
   while (!parser.finished ())
     {
-      int num = parser.get_next ();
+      int num = parser.get_number ();
 
       if (num == 0)
 	error (_("canceled"));
diff --git a/gdb/memattr.c b/gdb/memattr.c
index a33993a..1c5c48f 100644
--- a/gdb/memattr.c
+++ b/gdb/memattr.c
@@ -581,7 +581,7 @@ mem_enable_command (char *args, int from_tty)
       number_or_range_parser parser (args);
       while (!parser.finished ())
 	{
-	  num = parser.get_next ();
+	  num = parser.get_number ();
 	  mem_enable (num);
 	}
     }
@@ -625,7 +625,7 @@ mem_disable_command (char *args, int from_tty)
       number_or_range_parser parser (args);
       while (!parser.finished ())
 	{
-	  int num = parser.get_next ();
+	  int num = parser.get_number ();
 	  mem_disable (num);
 	}
     }
@@ -676,7 +676,7 @@ mem_delete_command (char *args, int from_tty)
   number_or_range_parser parser (args);
   while (!parser.finished ())
     {
-      int num = parser.get_next ();
+      int num = parser.get_number ();
       mem_delete (num);
     }
 
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 15f2395..c7f477b 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1885,9 +1885,9 @@ map_display_numbers (char *args,
 
   while (!parser.finished ())
     {
-      const char *p = parser.string ();
+      const char *p = parser.cur_tok ();
 
-      num = parser.get_next ();
+      num = parser.get_number ();
       if (num == 0)
 	warning (_("bad display number at or near '%s'"), p);
       else
diff --git a/gdb/reverse.c b/gdb/reverse.c
index 461d1a4..2c1abdc 100644
--- a/gdb/reverse.c
+++ b/gdb/reverse.c
@@ -233,7 +233,7 @@ delete_bookmark_command (char *args, int from_tty)
   number_or_range_parser parser (args);
   while (!parser.finished ())
     {
-      int num = parser.get_next ();
+      int num = parser.get_number ();
       if (!delete_one_bookmark (num))
 	/* Not found.  */
 	warning (_("No bookmark #%d."), num);
@@ -329,7 +329,7 @@ bookmarks_info (char *args, int from_tty)
       number_or_range_parser parser (args);
       while (!parser.finished ())
 	{
-	  int bnum = parser.get_next ();
+	  int bnum = parser.get_number ();
 	  bookmark_1 (bnum);
 	}
     }
diff --git a/gdb/thread.c b/gdb/thread.c
index 819119d..f376211 100644
--- a/gdb/thread.c
+++ b/gdb/thread.c
@@ -1837,7 +1837,7 @@ thread_apply_command (char *tidlist, int from_tty)
 
       if (!parser.get_tid_range (&inf_num, &thr_start, &thr_end))
 	{
-	  cmd = (char *) parser.string ();
+	  cmd = (char *) parser.cur_tok ();
 	  break;
 	}
     }
@@ -1856,7 +1856,7 @@ thread_apply_command (char *tidlist, int from_tty)
   make_cleanup_restore_current_thread ();
 
   parser.init (tidlist, current_inferior ()->num);
-  while (!parser.finished () && parser.string () < cmd)
+  while (!parser.finished () && parser.cur_tok () < cmd)
     {
       struct thread_info *tp = NULL;
       struct inferior *inf;
@@ -1888,8 +1888,7 @@ thread_apply_command (char *tidlist, int from_tty)
 
       if (tp == NULL)
 	{
-	  if (show_inferior_qualified_tids ()
-	      || parser.qualified ())
+	  if (show_inferior_qualified_tids () || parser.is_qualified ())
 	    warning (_("Unknown thread %d.%d"), inf_num, thr_num);
 	  else
 	    warning (_("Unknown thread %d"), thr_num);
diff --git a/gdb/tid-parse.c b/gdb/tid-parse.c
index 9e49eba..28c5286 100644
--- a/gdb/tid-parse.c
+++ b/gdb/tid-parse.c
@@ -125,7 +125,7 @@ void
 tid_range_parser::init (const char *tidlist, int default_inferior)
 {
   m_state = STATE_INFERIOR;
-  m_string = tidlist;
+  m_cur_tok = tidlist;
   m_inf_num = 0;
   m_qualified = 0;
   m_default_inferior = default_inferior;
@@ -139,7 +139,7 @@ tid_range_parser::finished ()
   switch (m_state)
     {
     case STATE_INFERIOR:
-      return *m_string == '\0';
+      return *m_cur_tok == '\0';
     case STATE_THREAD_RANGE:
     case STATE_STAR_RANGE:
       return m_range_parser.finished ();
@@ -151,15 +151,15 @@ tid_range_parser::finished ()
 /* See tid-parse.h.  */
 
 const char *
-tid_range_parser::string ()
+tid_range_parser::cur_tok ()
 {
   switch (m_state)
     {
     case STATE_INFERIOR:
-      return m_string;
+      return m_cur_tok;
     case STATE_THREAD_RANGE:
     case STATE_STAR_RANGE:
-      return m_range_parser.string ();
+      return m_range_parser.cur_tok ();
     }
 
   gdb_assert_not_reached (_("unhandled state"));
@@ -172,13 +172,13 @@ tid_range_parser::skip_range ()
 	      || m_state == STATE_STAR_RANGE);
 
   m_range_parser.skip_range ();
-  init (m_range_parser.string (), m_default_inferior);
+  init (m_range_parser.cur_tok (), m_default_inferior);
 }
 
 /* See tid-parse.h.  */
 
 bool
-tid_range_parser::qualified ()
+tid_range_parser::is_qualified ()
 {
   return m_qualified;
 }
@@ -196,9 +196,9 @@ tid_range_parser::get_tid_or_range (int *inf_num,
       const char *p;
       const char *space;
 
-      space = skip_to_space (m_string);
+      space = skip_to_space (m_cur_tok);
 
-      p = m_string;
+      p = m_cur_tok;
       while (p < space && *p != '.')
 	p++;
       if (p < space)
@@ -206,8 +206,8 @@ tid_range_parser::get_tid_or_range (int *inf_num,
 	  const char *dot = p;
 
 	  /* Parse number to the left of the dot.  */
-	  p = m_string;
-	  m_inf_num = get_positive_number_trailer (&p, '.', m_string);
+	  p = m_cur_tok;
+	  m_inf_num = get_positive_number_trailer (&p, '.', m_cur_tok);
 	  if (m_inf_num == 0)
 	    return 0;
 
@@ -221,7 +221,7 @@ tid_range_parser::get_tid_or_range (int *inf_num,
 	{
 	  m_inf_num = m_default_inferior;
 	  m_qualified = false;
-	  p = m_string;
+	  p = m_cur_tok;
 	}
 
       m_range_parser.init (p);
@@ -237,9 +237,9 @@ tid_range_parser::get_tid_or_range (int *inf_num,
     }
 
   *inf_num = m_inf_num;
-  *thr_start = m_range_parser.get_next ();
+  *thr_start = m_range_parser.get_number ();
   if (*thr_start < 0)
-    error (_("negative value: %s"), m_string);
+    error (_("negative value: %s"), m_cur_tok);
   if (*thr_start == 0)
     {
       m_state = STATE_INFERIOR;
@@ -252,7 +252,7 @@ tid_range_parser::get_tid_or_range (int *inf_num,
   if (!m_range_parser.in_range ())
     {
       m_state = STATE_INFERIOR;
-      m_string = m_range_parser.string ();
+      m_cur_tok = m_range_parser.cur_tok ();
 
       if (thr_end != NULL)
 	*thr_end = *thr_start;
@@ -316,7 +316,7 @@ tid_is_in_list (const char *list, int default_inferior,
       int tmp_inf, tmp_thr_start, tmp_thr_end;
 
       if (!parser.get_tid_range (&tmp_inf, &tmp_thr_start, &tmp_thr_end))
-	invalid_thread_id_error (parser.string ());
+	invalid_thread_id_error (parser.cur_tok ());
       if (tmp_inf == inf_num
 	  && tmp_thr_start <= thr_num && thr_num <= tmp_thr_end)
 	return 1;
diff --git a/gdb/tid-parse.h b/gdb/tid-parse.h
index 764facc..4ff74b7 100644
--- a/gdb/tid-parse.h
+++ b/gdb/tid-parse.h
@@ -74,7 +74,7 @@ public:
      exists).
 
      At the beginning of parsing a thread range, the char pointer
-     PARSER->string will be advanced past <thread_number1> and left
+     PARSER->m_cur_tok will be advanced past <thread_number1> and left
      pointing at the '-' token.  Subsequent calls will not advance the
      pointer until the range is completed.  The call that completes
      the range will advance the pointer past <thread_number2>.
@@ -116,9 +116,9 @@ public:
   /* Returns true if parsing has completed.  */
   bool finished ();
 
-  /* Return the string being parsed.  When parsing has finished, this
-     points past the last parsed token.  */
-  const char *string ();
+  /* Return the current token being parsed.  When parsing has
+     finished, this points past the last parsed token.  */
+  const char *cur_tok ();
 
   /* When parsing a range, advance past the final token in the
      range.  */
@@ -126,7 +126,7 @@ public:
 
 /* True if the TID last parsed was explicitly inferior-qualified.
    IOW, whether the spec specified an inferior number explicitly.  */
-  bool qualified ();
+  bool is_qualified ();
 
 private:
   bool get_tid_or_range (int *inf_num, int *thr_start, int *thr_end);
@@ -147,7 +147,7 @@ private:
 
   /* The string being parsed.  When parsing has finished, this points
      past the last parsed token.  */
-  const char *m_string;
+  const char *m_cur_tok;
 
   /* The range parser state when we're parsing the thread number
      sub-component.  */
-- 
2.5.5



  parent reply	other threads:[~2016-10-04 19:24 UTC|newest]

Thread overview: 121+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-27  4:49 [RFA 00/22] More C++-ification Tom Tromey
2016-09-27  4:41 ` [RFA 07/22] Change scoped_minimal_symbol_reader to store objfile Tom Tromey
2016-09-29  9:19   ` Trevor Saunders
2016-09-30 21:41     ` Tom Tromey
2016-09-27  4:41 ` [RFA 15/22] Use std::string in macho_symfile_read_all_oso Tom Tromey
2016-10-09 17:28   ` Pedro Alves
2016-10-10 22:40     ` Tom Tromey
2016-10-10 22:46       ` Pedro Alves
2016-09-27  4:42 ` [RFA 19/22] Convert tid_range_parser to class Tom Tromey
2016-09-30  1:41   ` Pedro Alves
2016-09-30 14:52     ` Tom Tromey
     [not found]       ` <926126cb-b3c5-340b-ac1c-5bc14ca41bf9@redhat.com>
2016-10-04 19:24         ` Pedro Alves [this message]
2016-10-04 23:09           ` Pedro Alves
2016-10-05  2:16             ` Trevor Saunders
2016-10-12  2:12             ` Tom Tromey
2016-10-13  1:06               ` Pedro Alves
2016-09-27  4:42 ` [RFA 16/22] Use std::vector in elf_read_minimal_symbols Tom Tromey
2016-10-09 17:30   ` Pedro Alves
2016-09-27  4:43 ` [RFA 20/22] Initial conversion of dwarf_expr_ctx Tom Tromey
2016-10-09 17:40   ` Pedro Alves
2016-09-27  4:45 ` [RFA 21/22] Convert DWARF expr functions to methods Tom Tromey
2016-10-09 19:18   ` Pedro Alves
2016-09-27  4:47 ` [RFA 02/22] Use RAII to save and restore scalars Tom Tromey
2016-09-27 10:24   ` Trevor Saunders
2016-09-30  1:40     ` Pedro Alves
2016-09-30  9:22       ` Pedro Alves
2016-09-30 15:00       ` Tom Tromey
2016-09-30 23:50         ` Pedro Alves
2016-09-30 15:44       ` Tom Tromey
2016-09-30 23:51         ` Pedro Alves
2016-10-01  3:55           ` Tom Tromey
2016-10-01  4:23             ` Tom Tromey
2016-10-01 10:33               ` Pedro Alves
2016-10-02 17:11                 ` Tom Tromey
2016-10-05  0:06                   ` Pedro Alves
2016-10-12 22:36                     ` Tom Tromey
2016-09-27  4:47 ` [RFA 22/22] Convert dwarf_expr_context_funcs to methods Tom Tromey
2016-10-09 19:11   ` Pedro Alves
2016-10-10 18:31     ` Pedro Alves
2016-10-10 19:33       ` Pedro Alves
2016-09-27  4:47 ` [RFA 05/22] Turn wchar iterator into a class Tom Tromey
2016-10-06  1:01   ` Pedro Alves
2016-09-27  4:47 ` [RFA 04/22] Use scoped_restore for current_ui Tom Tromey
2016-09-27  4:48 ` [RFA 08/22] Record minimal symbols directly in reader Tom Tromey
2016-10-01  4:29   ` Simon Marchi
2016-10-06  1:12     ` Pedro Alves
2016-09-27  4:48 ` [RFA 09/22] Remove make_cleanup_restore_current_ui Tom Tromey
2016-09-29 11:55   ` Trevor Saunders
2016-10-01  3:47     ` Tom Tromey
2016-10-01  4:29   ` Simon Marchi
2016-10-06  2:53     ` Tom Tromey
2016-10-06  1:24   ` Pedro Alves
2016-10-06  2:52     ` Tom Tromey
2016-10-09  4:31   ` Simon Marchi
2016-10-09 15:10     ` Tom Tromey
2016-10-09 19:20       ` Pedro Alves
2016-10-12 22:43         ` Tom Tromey
2016-10-13  1:28           ` Pedro Alves
2016-10-13  6:11             ` Eli Zaretskii
2016-10-13 10:16               ` Pedro Alves
2016-10-13 13:53                 ` Eli Zaretskii
2016-10-13 14:26                   ` Pedro Alves
2016-10-13 14:46                     ` Eli Zaretskii
     [not found]                       ` <9d9dca17-56a6-6c0a-44bb-efc425f24d8d@redhat.com>
2016-10-13 15:19                         ` Eli Zaretskii
2016-10-13 15:43                           ` Pedro Alves
2016-10-13 15:48                             ` Pedro Alves
2016-10-17 23:43                             ` Go C++11? (was: Re: [RFA 09/22] Remove make_cleanup_restore_current_ui) Pedro Alves
2016-10-18  6:14                               ` Eli Zaretskii
2016-10-19 18:02                               ` Go C++11? Luis Machado
2016-10-19 22:34                                 ` Pedro Alves
2016-10-13 15:27                       ` [RFA 09/22] Remove make_cleanup_restore_current_ui Pedro Alves
2016-10-13 14:26                 ` Trevor Saunders
2016-09-27  4:48 ` [RFA 01/22] Change selttest.c to use use std::vector Tom Tromey
2016-09-27  8:50   ` Trevor Saunders
2016-09-27 16:44     ` Tom Tromey
2016-09-28 14:58       ` Trevor Saunders
2016-09-29  8:59         ` Tom Tromey
2016-10-06  0:18       ` Pedro Alves
2016-10-06  0:39       ` Pedro Alves
2016-09-30 14:43   ` Simon Marchi
2016-09-30 21:40     ` Tom Tromey
2016-10-06  0:45       ` Pedro Alves
2016-09-27  4:48 ` [RFA 03/22] Use scoped_restore for ui_file Tom Tromey
2016-10-01  4:28   ` Simon Marchi
2016-10-01  5:22     ` Tom Tromey
2016-10-01 11:47       ` Simon Marchi
2016-10-13 14:56         ` Tom Tromey
2016-09-27  4:50 ` [RFA 17/22] Remove make_cleanup_restore_current_uiout Tom Tromey
2016-09-29 14:35   ` Trevor Saunders
2016-09-29 15:23     ` Tom Tromey
2016-09-29 17:55       ` Simon Marchi
2016-09-29 20:34         ` Tom Tromey
2016-09-30  2:45       ` Pedro Alves
2016-09-30 23:48         ` Tom Tromey
2016-09-30 23:52           ` Pedro Alves
2016-09-27  4:51 ` [RFA 18/22] Some cleanup removal in dwarf2loc.c Tom Tromey
2016-10-09 17:37   ` Pedro Alves
2016-09-27  4:51 ` [RFA 14/22] Replace two xmallocs with vector Tom Tromey
2016-10-09 17:20   ` Pedro Alves
2016-10-12 22:39     ` Tom Tromey
2016-10-13  1:17       ` Pedro Alves
2016-10-13  2:04         ` Tom Tromey
2016-10-13 15:15     ` Tom Tromey
2016-10-13 15:26       ` Trevor Saunders
2016-09-27  4:51 ` [RFA 12/22] Remove unnecessary null_cleanup Tom Tromey
2016-10-09 17:06   ` Pedro Alves
2016-09-27  4:51 ` [RFA 13/22] Remove unnecessary cleanup from stabsread.c Tom Tromey
2016-09-30 16:19   ` Tom Tromey
2016-10-09 17:07   ` Pedro Alves
2016-09-27  4:52 ` [RFA 10/22] Remove some cleanups in MI Tom Tromey
2016-10-06  1:42   ` Pedro Alves
2016-09-27  4:52 ` [RFA 06/22] Introduce scoped_minimal_symbol_reader Tom Tromey
2016-10-06  1:10   ` Pedro Alves
2016-10-06 15:37     ` Tom Tromey
2016-10-10 23:06     ` Tom Tromey
2016-10-10 23:26       ` Pedro Alves
2016-09-27  8:32 ` [RFA 11/22] Change command stats reporting to use class Tom Tromey
2016-10-09 17:01   ` Pedro Alves
2016-10-11 17:31     ` Tom Tromey
     [not found] ` <e06fbe1ea266e078eaff6bdc98e48efa@simark.ca>
2016-10-08 16:42   ` [RFA 00/22] More C++-ification Pedro Alves
2016-10-09  2:09   ` Tom Tromey

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=42bd9696-cea5-5f39-ce03-1b223b5ed6fc@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=tom@tromey.com \
    /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