Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Tom Tromey <tom@tromey.com>, gdb-patches@sourceware.org
Subject: Re: [RFA v2 07/17] Remove make_cleanup_restore_current_ui
Date: Thu, 13 Oct 2016 22:37:00 -0000	[thread overview]
Message-ID: <af35cf30-4229-3acd-51e3-342773fa8bf2@redhat.com> (raw)
In-Reply-To: <1476393012-29987-8-git-send-email-tom@tromey.com>

On 10/13/2016 10:10 PM, Tom Tromey wrote:

> --- a/gdb/top.h
> +++ b/gdb/top.h
> @@ -155,27 +155,48 @@ extern struct ui *current_ui;
>  /* The list of all UIs.  */
>  extern struct ui *ui_list;
>  
> -/* State for SWITCH_THRU_ALL_UIS.  Declared here because it is meant
> -   to be created on the stack, but should be treated as opaque.  */
> -struct switch_thru_all_uis
> +/* State for SWITCH_THRU_ALL_UIS.  */
> +class switch_thru_all_uis
>  {
> -  struct ui *iter;
> -  struct cleanup *old_chain;
> +public:
> +
> +  switch_thru_all_uis () : m_iter (ui_list), m_save_ui (&current_ui)
> +  {
> +    current_ui = ui_list;
> +  }
> +
> +  // If done iterating, return true; otherwise return false.
> +  bool done () const
> +  {
> +    return m_iter == NULL;
> +  }
> +
> +  // Move to the next UI, setting current_ui if iteration is not yet
> +  // complete.
> +  void next ()
> +  {
> +    m_iter = m_iter->next;
> +    if (m_iter != NULL)
> +      current_ui = m_iter;
> +  }
> +
> + private:
> +
> +  // No need for these.  They are intentionally not defined anywhere.
> +  switch_thru_all_uis &operator= (const switch_thru_all_uis &);
> +  switch_thru_all_uis (const switch_thru_all_uis &);
> +
> +  // Used to iterate through the UIs.
> +  struct ui *m_iter;
> +
> +  // Save and restore current_ui.
> +  scoped_restore_tmpl<struct ui *> m_save_ui;
>  };

// vs /**/ comments.

OK with that change.  Thanks much!

Thanks,
Pedro Alves


  reply	other threads:[~2016-10-13 22:37 UTC|newest]

Thread overview: 58+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-10-13 21:11 [RFA v2 00/17] more C++ Tom Tromey
2016-10-13 21:11 ` [RFA v2 03/17] Use scoped_restore for current_ui Tom Tromey
2016-10-13 22:16   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 01/17] Use RAII to save and restore scalars Tom Tromey
2016-10-13 22:03   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 08/17] Remove some cleanups in MI Tom Tromey
2016-10-13 22:38   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 06/17] Record minimal symbols directly in reader Tom Tromey
2016-10-13 22:34   ` Pedro Alves
     [not found]     ` <87vawulj6w.fsf@tromey.com>
2016-10-20 21:47       ` Tom Tromey
2016-10-20 22:13         ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 14/17] Initial conversion of dwarf_expr_ctx Tom Tromey
2016-10-13 22:54   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 15/17] Convert DWARF expr functions to methods Tom Tromey
2016-10-13 23:01   ` Pedro Alves
2016-10-20 21:47     ` Tom Tromey
2016-10-20 22:01       ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 05/17] Change minimal_symbol_reader to store objfile Tom Tromey
2016-10-13 22:21   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 16/17] Convert dwarf_expr_context_funcs to methods Tom Tromey
2016-10-13 23:05   ` Pedro Alves
2016-10-18  2:50     ` Tom Tromey
2016-10-18 10:51       ` Pedro Alves
2016-10-18 14:55         ` Tom Tromey
2016-10-18 17:38           ` Pedro Alves
2016-10-19 22:29             ` Tom Tromey
2016-10-20 21:48       ` Tom Tromey
2016-10-20 21:56         ` Pedro Alves
2016-10-28 13:36         ` Pedro Alves
2016-10-31  2:48           ` Tom Tromey
2016-11-01 22:07             ` Tom Tromey
2016-11-02 16:12             ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 02/17] Use scoped_restore for ui_file Tom Tromey
2016-10-13 22:07   ` Pedro Alves
2016-10-14 21:33     ` Tom Tromey
2016-10-13 21:11 ` [RFA v2 07/17] Remove make_cleanup_restore_current_ui Tom Tromey
2016-10-13 22:37   ` Pedro Alves [this message]
2016-10-13 21:11 ` [RFA v2 04/17] Introduce minimal_symbol_reader Tom Tromey
2016-10-13 22:20   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 11/17] Use gdb::unique_ptr in elf_read_minimal_symbols Tom Tromey
2016-10-13 22:44   ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 12/17] Remove make_cleanup_restore_current_uiout Tom Tromey
2016-10-13 22:49   ` Pedro Alves
2016-10-14 21:30     ` Tom Tromey
2016-10-20 21:46       ` Tom Tromey
2016-10-20 21:57         ` Pedro Alves
2016-10-13 21:11 ` [RFA v2 10/17] Replace two xmallocs with unique_ptr Tom Tromey
2016-10-13 22:44   ` Pedro Alves
2016-10-13 21:13 ` [RFA v2 13/17] Some cleanup removal in dwarf2loc.c Tom Tromey
2016-10-13 22:52   ` Pedro Alves
2016-10-13 21:14 ` [RFA v2 09/17] Change command stats reporting to use class Tom Tromey
2016-10-13 22:43   ` Pedro Alves
2016-10-13 21:18 ` [RFA v2 17/17] Remove last cleanup from captured_main_1 Tom Tromey
2016-10-13 23:13   ` Pedro Alves
2016-10-13 21:39 ` [RFA v2 00/17] more C++ Pedro Alves
2016-10-14 16:26   ` Pedro Alves
2016-10-20 21:49 ` Tom Tromey
2016-10-20 22:27   ` 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=af35cf30-4229-3acd-51e3-342773fa8bf2@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