Mark guile_{extension_,}script_ops as static
Commit Message
This makes it clearer that the structs are only used in this file. It
required moving the definition of extension_language_guile further
down in the file, because static structs can't be forward-declared.
gdb/ChangeLog:
2019-10-07 Christian Biesinger <cbiesinger@google.com>
* guile/guile.c (guile_extension_script_ops): Remove forward
declaration and mark as static.
(guile_script_ops): Likewise.
(extension_language_guile): Move further down in the file so
it can reference the definitions for guile_{extension_,}script_ops.
---
gdb/guile/guile.c | 55 ++++++++++++++++++++++-------------------------
1 file changed, 26 insertions(+), 29 deletions(-)
Comments
>>>>> "Christian" == Christian Biesinger via gdb-patches <gdb-patches@sourceware.org> writes:
Christian> This makes it clearer that the structs are only used in this file. It
Christian> required moving the definition of extension_language_guile further
Christian> down in the file, because static structs can't be forward-declared.
Christian> gdb/ChangeLog:
Christian> 2019-10-07 Christian Biesinger <cbiesinger@google.com>
Christian> * guile/guile.c (guile_extension_script_ops): Remove forward
Christian> declaration and mark as static.
Christian> (guile_script_ops): Likewise.
Christian> (extension_language_guile): Move further down in the file so
Christian> it can reference the definitions for guile_{extension_,}script_ops.
This is ok, thanks.
Tom
On Wed, Oct 9, 2019 at 12:48 PM Tom Tromey <tom@tromey.com> wrote:
>
> >>>>> "Christian" == Christian Biesinger via gdb-patches <gdb-patches@sourceware.org> writes:
>
> Christian> This makes it clearer that the structs are only used in this file. It
> Christian> required moving the definition of extension_language_guile further
> Christian> down in the file, because static structs can't be forward-declared.
>
> Christian> gdb/ChangeLog:
>
> Christian> 2019-10-07 Christian Biesinger <cbiesinger@google.com>
>
> Christian> * guile/guile.c (guile_extension_script_ops): Remove forward
> Christian> declaration and mark as static.
> Christian> (guile_script_ops): Likewise.
> Christian> (extension_language_guile): Move further down in the file so
> Christian> it can reference the definitions for guile_{extension_,}script_ops.
>
> This is ok, thanks.
Thanks, pushed:
To ssh://sourceware.org/git/binutils-gdb.git
1d3787499d6..6a25e8a290e HEAD -> master
Christian
@@ -71,33 +71,6 @@ static const char *const guile_print_excp_enums[] =
the default. */
const char *gdbscm_print_excp = gdbscm_print_excp_message;
-#ifdef HAVE_GUILE
-/* Forward decls, these are defined later. */
-extern const struct extension_language_script_ops guile_extension_script_ops;
-extern const struct extension_language_ops guile_extension_ops;
-#endif
-
-/* The main struct describing GDB's interface to the Guile
- extension language. */
-extern const struct extension_language_defn extension_language_guile =
-{
- EXT_LANG_GUILE,
- "guile",
- "Guile",
-
- ".scm",
- "-gdb.scm",
-
- guile_control,
-
-#ifdef HAVE_GUILE
- &guile_extension_script_ops,
- &guile_extension_ops
-#else
- NULL,
- NULL
-#endif
-};
#ifdef HAVE_GUILE
@@ -126,7 +99,7 @@ static const char boot_scm_filename[] = "boot.scm";
/* The interface between gdb proper and loading of python scripts. */
-const struct extension_language_script_ops guile_extension_script_ops =
+static const struct extension_language_script_ops guile_extension_script_ops =
{
gdbscm_source_script,
gdbscm_source_objfile_script,
@@ -136,7 +109,7 @@ const struct extension_language_script_ops guile_extension_script_ops =
/* The interface between gdb proper and guile scripting. */
-const struct extension_language_ops guile_extension_ops =
+static const struct extension_language_ops guile_extension_ops =
{
gdbscm_finish_initialization,
gdbscm_initialized,
@@ -159,7 +132,31 @@ const struct extension_language_ops guile_extension_ops =
NULL, /* gdbscm_check_quit_flag, */
NULL, /* gdbscm_set_quit_flag, */
};
+#endif
+
+/* The main struct describing GDB's interface to the Guile
+ extension language. */
+extern const struct extension_language_defn extension_language_guile =
+{
+ EXT_LANG_GUILE,
+ "guile",
+ "Guile",
+
+ ".scm",
+ "-gdb.scm",
+ guile_control,
+
+#ifdef HAVE_GUILE
+ &guile_extension_script_ops,
+ &guile_extension_ops
+#else
+ NULL,
+ NULL
+#endif
+};
+
+#ifdef HAVE_GUILE
/* Implementation of the gdb "guile-repl" command. */
static void