[pushed] gdb: remove gen_ret_current_ui_field_ptr

Sourceware to Gerrit sync (Code Review) gerrit@gnutoolchain-gerrit.osci.io
Thu Nov 21 14:34:00 GMT 2019


Sourceware to Gerrit sync has submitted this change.

Change URL: https://gnutoolchain-gerrit.osci.io/r/c/binutils-gdb/+/696
......................................................................

gdb: remove gen_ret_current_ui_field_ptr

I think it would be clearer to not use gen_ret_current_ui_field_ptr to
generate the implementation of current_ui_gdb_stdout_ptr et al.  It
doesn't save much code, but adds a layer of complexity for the reader.
Plus, it doesn't work well with IDEs, for example if you ask to find all
usages the m_gdb_stdout field.

gdb/ChangeLog:

	* top.c (current_ui_gdb_stdout_ptr): Spell out by hand.
	(current_ui_gdb_stdin_ptr): Likewise.
	(current_ui_gdb_stderr_ptr): Likewise.
	(current_ui_gdb_stdlog_ptr): Likewise.
	(current_ui_current_uiout_ptr): Likewise.
	(gen_ret_current_ui_field_ptr): Remove.

Change-Id: I86f821c9d119453701caedf0e47124ccddfbab2d
---
M gdb/ChangeLog
M gdb/top.c
2 files changed, 36 insertions(+), 13 deletions(-)


diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 3652685..57e8f6b 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,12 @@
+2019-11-21  Simon Marchi  <simon.marchi@polymtl.ca>
+
+	* top.c (current_ui_gdb_stdout_ptr): Spell out by hand.
+	(current_ui_gdb_stdin_ptr): Likewise.
+	(current_ui_gdb_stderr_ptr): Likewise.
+	(current_ui_gdb_stdlog_ptr): Likewise.
+	(current_ui_current_uiout_ptr): Likewise.
+	(gen_ret_current_ui_field_ptr): Remove.
+
 2019-11-21  Tom de Vries  <tdevries@suse.de>
 
 	PR gdb/24956
diff --git a/gdb/top.c b/gdb/top.c
index 08c7425..2953eac 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -92,21 +92,35 @@
 #define DEFAULT_PROMPT	"(gdb) "
 #endif
 
-/* Generate a function that exports a pointer to a field of the
-   current UI.  */
-
-#define gen_ret_current_ui_field_ptr(type, name)	\
-type *							\
-current_ui_## name ## _ptr (void)			\
-{							\
-  return &current_ui->m_ ## name;		\
+struct ui_file **
+current_ui_gdb_stdout_ptr ()
+{
+  return &current_ui->m_gdb_stdout;
 }
 
-gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stdout)
-gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stdin)
-gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stderr)
-gen_ret_current_ui_field_ptr (struct ui_file *, gdb_stdlog)
-gen_ret_current_ui_field_ptr (struct ui_out *, current_uiout)
+struct ui_file **
+current_ui_gdb_stdin_ptr ()
+{
+  return &current_ui->m_gdb_stdin;
+}
+
+struct ui_file **
+current_ui_gdb_stderr_ptr ()
+{
+  return &current_ui->m_gdb_stderr;
+}
+
+struct ui_file **
+current_ui_gdb_stdlog_ptr ()
+{
+  return &current_ui->m_gdb_stdlog;
+}
+
+struct ui_out **
+current_ui_current_uiout_ptr ()
+{
+  return &current_ui->m_current_uiout;
+}
 
 int inhibit_gdbinit = 0;
 

-- 
Gerrit-Project: binutils-gdb
Gerrit-Branch: master
Gerrit-Change-Id: I86f821c9d119453701caedf0e47124ccddfbab2d
Gerrit-Change-Number: 696
Gerrit-PatchSet: 3
Gerrit-Owner: Simon Marchi <simon.marchi@polymtl.ca>
Gerrit-Reviewer: Tom Tromey <tromey@sourceware.org>
Gerrit-MessageType: merged



More information about the Gdb-patches mailing list