Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Nick Roberts <nickrob@snap.net.nz>
To: Vladimir Prus <ghost@cs.msu.su>
Cc: gdb-patches@sources.redhat.com
Subject: Re: [PATCH] Avoid breakpoint query in MI
Date: Sat, 19 Apr 2008 14:12:00 -0000	[thread overview]
Message-ID: <18441.36460.113972.229750@kahikatea.snap.net.nz> (raw)
In-Reply-To: <200804180153.32013.ghost@cs.msu.su>

 > I'm not qualified either to decide if I'm qualified to approve this patch :-)
 > As far as I'm concerned, this patch is OK.
 > 
 > - Volodya

OK.  This is what I've committed.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


2008-04-19  Nick Roberts  <nickrob@snap.net.nz>

	* interps.c (top_level_interpreter): Rename static variable...
	(top_level_interpreter_ptr): ...to this.
 	(top_level_interpreter): New function.

	* interps.h: New extern for top_level_interpreter.

	* linespec.c: Include interps.h and mi/mi-cmds.h.
	(decode_line_2): When using MI, always set all breakpoints in menu.

	* Makefile.in (linespec.o, mi-interp.o): Add dependencies.


*** interps.c.~1.23.~	2008-03-15 22:34:07.000000000 +1300
--- interps.c	2008-04-19 16:16:43.000000000 +1200
*************** void _initialize_interpreter (void);
*** 81,87 ****
  
  static struct interp *interp_list = NULL;
  static struct interp *current_interpreter = NULL;
! static struct interp *top_level_interpreter = NULL;
  
  static int interpreter_initialized = 0;
  
--- 81,87 ----
  
  static struct interp *interp_list = NULL;
  static struct interp *current_interpreter = NULL;
! static struct interp *top_level_interpreter_ptr = NULL;
  
  static int interpreter_initialized = 0;
  
*************** interp_set (struct interp *interp, int t
*** 144,150 ****
    /* If we already have an interpreter, then trying to
       set top level interpreter is kinda pointless.  */
    gdb_assert (!top_level || !current_interpreter);
!   gdb_assert (!top_level || !top_level_interpreter);
  
    if (current_interpreter != NULL)
      {
--- 144,150 ----
    /* If we already have an interpreter, then trying to
       set top level interpreter is kinda pointless.  */
    gdb_assert (!top_level || !current_interpreter);
!   gdb_assert (!top_level || !top_level_interpreter_ptr);
  
    if (current_interpreter != NULL)
      {
*************** interp_set (struct interp *interp, int t
*** 165,171 ****
  
    current_interpreter = interp;
    if (top_level)
!     top_level_interpreter = interp;
  
    /* We use interpreter_p for the "set interpreter" variable, so we need
       to make sure we have a malloc'ed copy for the set command to free. */
--- 165,171 ----
  
    current_interpreter = interp;
    if (top_level)
!     top_level_interpreter_ptr = interp;
  
    /* We use interpreter_p for the "set interpreter" variable, so we need
       to make sure we have a malloc'ed copy for the set command to free. */
*************** interpreter_completer (char *text, char 
*** 476,486 ****
    return matches;
  }
  
! extern void *
  top_level_interpreter_data (void)
  {
!   gdb_assert (top_level_interpreter);
!   return top_level_interpreter->data;  
  }
  
  /* This just adds the "interpreter-exec" command.  */
--- 476,492 ----
    return matches;
  }
  
! struct interp *
! top_level_interpreter (void)
! {
!   return top_level_interpreter_ptr;  
! }
! 
! void *
  top_level_interpreter_data (void)
  {
!   gdb_assert (top_level_interpreter_ptr);
!   return top_level_interpreter_ptr->data;  
  }
  
  /* This just adds the "interpreter-exec" command.  */


*** interps.h.~1.14.~	2008-03-15 22:34:07.000000000 +1300
--- interps.h	2008-04-19 16:17:10.000000000 +1200
*************** extern int current_interp_display_prompt
*** 66,71 ****
--- 66,72 ----
  extern void current_interp_command_loop (void);
  /* Returns opaque data associated with the top-level interpreter.  */
  extern void *top_level_interpreter_data (void);
+ extern struct interp *top_level_interpreter (void);
  
  extern void clear_interpreter_hooks (void);
  

*** linespec.c.~1.75~	2008-04-19 17:54:40.000000000 +1200
--- linespec.c	2008-04-19 09:56:08.000000000 +1200
***************
*** 36,41 ****
--- 36,43 ----
  #include "linespec.h"
  #include "exceptions.h"
  #include "language.h"
+ #include "interps.h"
+ #include "mi/mi-cmds.h"
  
  /* We share this one with symtab.c, but it is not exported widely. */
  
*************** See set/show multiple-symbol."));
*** 524,530 ****
  
    /* If select_mode is "all", then do not print the multiple-choice
       menu and act as if the user had chosen choice "1" (all).  */
!   if (select_mode == multiple_symbols_all)
      args = "1";
    else
      {
--- 526,533 ----
  
    /* If select_mode is "all", then do not print the multiple-choice
       menu and act as if the user had chosen choice "1" (all).  */
!   if (select_mode == multiple_symbols_all
!       || ui_out_is_mi_like_p (interp_ui_out (top_level_interpreter ())))
      args = "1";
    else
      {


*** Makefile.in.~1.1001.~	2008-04-19 10:53:43.000000000 +1200
--- Makefile.in	2008-04-19 18:03:52.000000000 +1200
*************** libunwind-frame.o: libunwind-frame.c $(d
*** 2365,2372 ****
  	$(gdb_string_h) $(libunwind_frame_h) $(complaints_h)
  linespec.o: linespec.c $(defs_h) $(symtab_h) $(frame_h) $(command_h) \
  	$(symfile_h) $(objfiles_h) $(source_h) $(demangle_h) $(value_h) \
! 	$(completer_h) $(cp_abi_h) $(parser_defs_h) $(block_h) \
! 	$(objc_lang_h) $(linespec_h) $(exceptions_h) $(language_h)
  linux-fork.o: linux-fork.c $(defs_h) $(inferior_h) $(regcache_h) $(gdbcmd_h) \
  	$(infcall_h) $(gdb_assert_h) $(gdb_string_h) $(linux_fork_h) \
  	$(linux_nat_h) $(gdb_wait_h) $(gdb_dirent_h)
--- 2365,2372 ----
  	$(gdb_string_h) $(libunwind_frame_h) $(complaints_h)
  linespec.o: linespec.c $(defs_h) $(symtab_h) $(frame_h) $(command_h) \
  	$(symfile_h) $(objfiles_h) $(source_h) $(demangle_h) $(value_h) \
! 	$(completer_h) $(cp_abi_h) $(parser_defs_h) $(block_h) $(interps_h) \
! 	$(objc_lang_h) $(linespec_h) $(exceptions_h) $(language_h) $(mi_cmds_h)
  linux-fork.o: linux-fork.c $(defs_h) $(inferior_h) $(regcache_h) $(gdbcmd_h) \
  	$(infcall_h) $(gdb_assert_h) $(gdb_string_h) $(linux_fork_h) \
  	$(linux_nat_h) $(gdb_wait_h) $(gdb_dirent_h)
*************** mi-getopt.o: $(srcdir)/mi/mi-getopt.c $(
*** 3253,3259 ****
  mi-interp.o: $(srcdir)/mi/mi-interp.c $(defs_h) $(gdb_string_h) $(interps_h) \
  	$(event_top_h) $(event_loop_h) $(inferior_h) $(ui_out_h) $(top_h) \
  	$(exceptions_h) $(mi_main_h) $(mi_cmds_h) $(mi_out_h) \
! 	$(mi_console_h) $(observer_h) $(gdbthread_h)
  	$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-interp.c
  mi-main.o: $(srcdir)/mi/mi-main.c $(defs_h) $(target_h) $(inferior_h) \
  	$(gdb_string_h) $(exceptions_h) $(top_h) $(gdbthread_h) $(mi_cmds_h) \
--- 3253,3259 ----
  mi-interp.o: $(srcdir)/mi/mi-interp.c $(defs_h) $(gdb_string_h) $(interps_h) \
  	$(event_top_h) $(event_loop_h) $(inferior_h) $(ui_out_h) $(top_h) \
  	$(exceptions_h) $(mi_main_h) $(mi_cmds_h) $(mi_out_h) \
! 	$(mi_console_h) $(observer_h) $(gdbthread_h) $(interps_h)
  	$(CC) -c $(INTERNAL_CFLAGS) $(srcdir)/mi/mi-interp.c
  mi-main.o: $(srcdir)/mi/mi-main.c $(defs_h) $(target_h) $(inferior_h) \
  	$(gdb_string_h) $(exceptions_h) $(top_h) $(gdbthread_h) $(mi_cmds_h) \


  parent reply	other threads:[~2008-04-19  6:17 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-17 15:12 Nick Roberts
2008-04-17 16:42 ` Vladimir Prus
2008-04-17 21:25   ` Nick Roberts
     [not found]     ` <200804180153.32013.ghost@cs.msu.su>
2008-04-19 14:12       ` Nick Roberts [this message]
2008-04-19 17:07         ` Daniel Jacobowitz
2008-04-20  7:20           ` Nick Roberts
2008-04-21  7:10           ` Eli Zaretskii
2008-04-17 23:02   ` Nick Roberts
2008-04-19  0:10     ` Vladimir Prus

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=18441.36460.113972.229750@kahikatea.snap.net.nz \
    --to=nickrob@snap.net.nz \
    --cc=gdb-patches@sources.redhat.com \
    --cc=ghost@cs.msu.su \
    /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