Re: [PATCH] Add declarations to gdbtk.h
Mike Wellington <[email protected]> Mon, 7 Oct 2019 16:47:58 -0600
| Newsgroups | gmane.comp.debugging.insight |
|---|---|
| Message-ID | <CAJdGcHKvWAbdLtKX76dbxQCg9Xowk5RRDCb6STKauUOQFOfJBw@mail.gmail.com> |
ok. good point. not my problem. On Mon, Oct 7, 2019 at 4:43 PM Christian Biesinger <[email protected]> wrote: > The problem is that gdb's main.c has this code: > extern int gdbtk_test (char *); > > if (!gdbtk_test (optarg)) > > and > extern char *external_editor_command; > > external_editor_command = xstrdup (optarg); > > It should not have to declare functions/variables that are part of > gdbtk; it should be able to just include a header for that. > > (there's no user-visible issue here -- this is code cleanup) > > Christian > > On Mon, Oct 7, 2019 at 5:40 PM Mike Wellington > <[email protected]> wrote: > > > > So what's the problem? > > > > On Mon, Oct 7, 2019, 15:09 Christian Biesinger via insight < > [email protected]> wrote: > >> > >> From: Christian Biesinger <[email protected]> > >> > >> Currently, gdb/main.c has to declare these two variables in the > >> .c file. This patch adds the declarations to the header so that > >> gdb can just use them. > >> > >> gdbtk/ChangeLog: > >> > >> 2019-10-07 Christian Biesinger <[email protected]> > >> > >> * generic/gdbtk.h (gdbtk_test): Declare. > >> (external_editor_command): Declare. > >> (file): Prefix Tcl_Interp with "struct" > >> so that this compiles when Tcl headers aren't included. > >> * generic/gdbtk-interp.h: Likewise. > >> --- > >> gdbtk/generic/gdbtk-interp.h | 2 +- > >> gdbtk/generic/gdbtk.h | 11 +++++++++-- > >> 2 files changed, 10 insertions(+), 3 deletions(-) > >> > >> diff --git a/gdbtk/generic/gdbtk-interp.h b/gdbtk/generic/gdbtk-interp.h > >> index 3126b91..9abad2e 100644 > >> --- a/gdbtk/generic/gdbtk-interp.h > >> +++ b/gdbtk/generic/gdbtk-interp.h > >> @@ -53,7 +53,7 @@ public: > >> ui_file *_stdtargin; > >> ui_out *uiout; > >> > >> - Tcl_Interp *tcl; > >> + struct Tcl_Interp *tcl; > >> }; > >> > >> extern gdbtk_interp *gdbtk_get_interp (void); > >> diff --git a/gdbtk/generic/gdbtk.h b/gdbtk/generic/gdbtk.h > >> index 7bb1f79..89ab8bf 100644 > >> --- a/gdbtk/generic/gdbtk.h > >> +++ b/gdbtk/generic/gdbtk.h > >> @@ -77,6 +77,12 @@ extern int running_now; > >> > >> extern long gdbtk_pid; > >> > >> +/* > >> + * This variable controls the interaction with an external editor. > >> + */ > >> + > >> +extern char *external_editor_command; > >> + > >> /* These two control how the GUI behaves when tracing or loading > >> They are defined in gdbtk-cmds.c */ > >> > >> @@ -91,7 +97,7 @@ extern int load_in_progress; > >> > >> typedef struct gdbtk_result > >> { > >> - Tcl_Obj *obj_ptr; /* This will eventually be copied over > to the > >> + struct Tcl_Obj *obj_ptr; /* This will eventually be > copied over to the > >> Tcl result */ > >> int flags; /* Flag vector to control how the > result is > >> used. */ > >> @@ -151,7 +157,7 @@ extern int gdbtk_force_detach; > >> * > >> */ > >> > >> -extern int Gdbtk_Init (Tcl_Interp * interp); > >> +extern int Gdbtk_Init (struct Tcl_Interp * interp); > >> extern void gdbtk_stop_timer (void); > >> extern void gdbtk_start_timer (void); > >> extern long gdbtk_getpid(void); > >> @@ -159,6 +165,7 @@ extern void gdbtk_ignorable_warning (const char *, > const char *); > >> extern int x_event (int); > >> extern int gdbtk_two_elem_cmd (char *, const char *); > >> extern int target_is_native (struct target_ops *t); > >> +extern int gdbtk_test (char *); > >> extern struct ui_file *gdbtk_fileopen (void); > >> extern bool gdbtk_disable_write; > >> extern ptid_t gdbtk_get_ptid (void); > >> -- > >> 2.23.0.581.g78d2f28ef7-goog > >> >