This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Fix most -Wmissing-prototypes -Wmissing-declarations warnings


On Thursday 19 February 2009 20:24:53, Mark Kettenis wrote:

> > > I absolutely detest using initialize_file_ftype for this, since my
> > > brain fails to parse this as a function prototype.
> > 
> > I'm guessing you detest all function pointer variable declarations
> > as well then.  I'm quite sure you're capable of getting used to
> > it as well, as this is valid C syntax anyway.  You probably have
> > already, since you hate it so much, but you're probably in
> > denial.  :-)
> 
> I don't really like those either, but tey're vastly more acceptable,
> since function pointers are variables.  So my brain parsing them as
> such, is actually ok.
> 
> Oh, and the fact that something is valid C syntax, doesn't mean it is
> a good idea of course.

Of course, and it doesn't make it a bad idea either.  I was more
refering to the fact that you have a parse bug in your brain, and
that's where it should be fixed.  (please forgive me, I'm only reusing
your words) :-)

> 
> > I disagree with you here, and, I absolutelly love using
> > _initialize_file_ftype for this.  The difference between:
> > 
> >  extern initialize_file_ftype _initialize_foo;
> >  void _initialize_foo (void)
> >  {}
> > 
> > ... and:
> > 
> >  void _initialize_foo (void);
> >  void _initialize_foo (void)
> >  {}
> 
> Well, that's obvious isn't it.  The second example saves you *several*
> keystrokes! ;).

LOL.  Not if you copy/paste.

> 
> > Is that with the former, if the _initializer_BAR functions prototype
> > needs to change, we change initialize_file_ftype, and all correctly
> > declared and prototypes functions will fail to compile, whereas with
> > the latter form, you may miss the change.  the compiler will not
> > help you.  So, I claim that all those instance *not* using
> > initialize_file_ftype are wrong.
> 
> A valid point, although the function prototype is unlikely to ever
> change.

Yes, of course, until it happens :-).

> > Most, if not all the initialize_file_ftype variants use shorter
> > description.  It's a bit pedantic, but I'll adjust to use the
> > full sentence in the comment for the ones I'm adding.

Ok, I've adjusted all the instances I'm adding, and checked in the
below.

I'm inclined (at some point) to go over all the other _initialize functions
and make them consistent --- I hate bit rot, inconsistency and
half-done conversions ---, so the next person copy/pasting
has 0 chance of copying from some of the other forms.  Are you OK
with that?

-- 
Pedro Alves

2008-02-21  Pedro Alves  <pedro@codesorcery.com>

	Silence a few -Wmissing-prototypes warnings.

	PR build/9877:
	* amd64-nat.c: Include "amd64-nat.h".
	* fork-child.c (_initialize_fork_child): Ditto.
	* gcore.c (_initialize_gcore): Ditto.
	* inf-ptrace.c: Include "inf-ptrace.h".
	(inf_ptrace_store_registers): Make it static.
	* linux-nat.c (linux_nat_terminal_ours): Make it static.
	(_initialize_linux_nat): Declare before definition.
	* linux-tdep.c: Include "linux-tdep.h".
	* linux-thread-db.c (_initialize_thread_db): Declare before
	definition.
	* proc-service.c (_initialize_proc_service): Ditto.
	* remote.c (remote_send_printf): Make it static.
	* solib.c: Include "solib.h".
	* symfile-mem.c (_initialize_symfile_mem): Declare before
	definition.
	* ada-lang.c (ada_la_decode, ada_match_name)
	(ada_suppress_symbol_printing, ada_is_array_type)
	(ada_value_ptr_subscript, ada_array_length)
	(ada_to_static_fixed_value): Make them static.
	(_initialize_ada_language): Declare before definition.
	* ada-tasks.c (ada_get_task_number, ada_get_environment_task)
	(ada_task_list_changed, ada_new_objfile_observer): Make them
	static.
	(_initialize_tasks): Declare before definition.
	* addrmap.c (_initialize_addrmap): Declare before definition.
	* auxv.c (default_auxv_parse): Make it static.
	* bfd-target.c (target_bfd_xfer_partial, target_bfd_xclose): Make
	them static.
	* breakpoint.c (remove_sal): Add line break.
	(expand_line_sal_maybe): Make it static.
	* cp-name-parser.y: Include "cp-support.h".
	* cp-valprint.c (cp_find_class_member): Make it static.
	* eval.c (value_f90_subarray): Ditto.
	* exceptions.c (print_any_exception): Ditto.
	* findcmd.c (_initialize_mem_search): Declare before definition.
	* frame.c (frame_observer_target_changed): Make it static.
	* gnu-v3-abi.c (gnuv3_find_method_in): Make it static.
	* inf-child.c: Include "inf-child.h".
	* inferior.h (valid_inferior_id): Rename to ...
	(valid_gdb_inferior_id): ... this.
	* infrun.c (infrun_thread_stop_requested, siginfo_make_value):
	Make them static.
	* jv-lang.c (java_language_arch_info): Make it static.
	* m2-typeprint.c (m2_get_discrete_bounds): Ditto.
	* osdata.c (info_osdata_command): Make it static.
	* regcache.c (regcache_observer_target_changed): Make it static.
	* reverse.c (_initialize_reverse): Declare before definition.
	* stabsread.c (cleanup_undefined_types_noname)
	(cleanup_undefined_types_1): Make them static.
	* symfile.c (place_section): Make it static.
	* symtab.c (find_pc_sect_psymtab_closer): Make it static.
	* target-descriptions.c (_initialize_target_descriptions): Declare
	before definition.
	* target.c (default_get_ada_task_ptid, find_default_can_async_p)
	(find_default_is_async_p, find_default_supports_non_stop): Make
	them static.
	(target_supports_non_stop): Add prototype.
	(dummy_pid_to_str): Make it static.
	* utils.c (_initialize_utils): Declare before definition.
	* ada-exp.y (_initialize_ada_exp): Declare before definition.
	* solib-svr4.c (HAS_LM_DYNAMIC_FROM_LINK_MAP): Add a prototype.
	* target.h (struct target_ops): Add a prototype to the
	to_can_execute_reverse callback.
	* macroscope.c (_initialize_macroscope): Declare before definition. 
	* cp-namespace.c (_initialize_cp_namespace): Declare before definition. 
	* python/python.c (_initialize_python): Declare before definition.
	* tui/tui-command.c: Include "tui/tui-command.h".
	* tui/tui-data.c (init_content_element, init_win_info): Make them
	static.
	* tui/tui-disasm.c: Include "tui/tui-disasm.h".
	* tui/tui-interp.c (_initialize_tui_interp): Declare before
	definition.
	* tui/tui-layout.c: Include "tui/tui-layout.h".
	(_initialize_tui_layout): Declare before definition.
	* tui/tui-regs.c: Include "tui/tui-regs.h".
	(tui_display_reg_element_at_line): Make it static.
	(_initialize_tui_regs): Declare before definition.
	* tui/tui-stack.c (_initialize_tui_stack): Declare before
	definition.
	* tui/tui-win.c: Include "tui/tui-win.h".
	(_initialize_tui_win): Declare before definition.
	(tui_sigwinch_handler): Make it static.  Wrap in ifdef SIGWINCH.
	* tui/tui-win.h (tui_sigwinch_handler): Delete declaration.
	(tui_get_cmd_list): Add a prototype.
	* tui/tui-windata.c: Include tui-windata.h.
	* tui/tui-wingeneral.c (box_win): Make it static.
	* cli/cli-logging.c (show_logging_command): Make it static.
	(_initialize_cli_logging): Declare before definition.
	* mi/mi-common.c (_initialize_gdb_mi_common): Declare before
	definition.

---
 gdb/ada-exp.y             |    3 +++
 gdb/ada-lang.c            |   17 ++++++++++-------
 gdb/ada-tasks.c           |   11 +++++++----
 gdb/addrmap.c             |    3 +++
 gdb/amd64-nat.c           |    1 +
 gdb/auxv.c                |    2 +-
 gdb/bfd-target.c          |    4 ++--
 gdb/breakpoint.c          |    5 +++--
 gdb/cli/cli-logging.c     |    5 ++++-
 gdb/cp-name-parser.y      |    1 +
 gdb/cp-namespace.c        |    3 +++
 gdb/cp-valprint.c         |    2 +-
 gdb/eval.c                |    2 +-
 gdb/exceptions.c          |    2 +-
 gdb/findcmd.c             |    3 +++
 gdb/fork-child.c          |    3 +++
 gdb/frame.c               |    2 +-
 gdb/gcore.c               |    3 +++
 gdb/gnu-v3-abi.c          |    2 +-
 gdb/inf-child.c           |    1 +
 gdb/inf-ptrace.c          |    3 ++-
 gdb/inferior.h            |    2 +-
 gdb/infrun.c              |    4 ++--
 gdb/jv-lang.c             |    2 +-
 gdb/linux-nat.c           |    5 ++++-
 gdb/linux-tdep.c          |    1 +
 gdb/linux-thread-db.c     |    3 +++
 gdb/m2-typeprint.c        |    2 +-
 gdb/macroscope.c          |    2 ++
 gdb/mi/mi-common.c        |    3 +++
 gdb/osdata.c              |    2 +-
 gdb/proc-service.c        |    3 +++
 gdb/python/python.c       |    3 +++
 gdb/regcache.c            |    2 +-
 gdb/remote.c              |    2 +-
 gdb/reverse.c             |    3 +++
 gdb/solib-svr4.c          |    2 +-
 gdb/solib.c               |    1 +
 gdb/stabsread.c           |    4 ++--
 gdb/symfile-mem.c         |    4 ++++
 gdb/symfile.c             |    2 +-
 gdb/symtab.c              |    2 +-
 gdb/target-descriptions.c |    3 +++
 gdb/target.c              |   12 ++++++------
 gdb/target.h              |    2 +-
 gdb/tui/tui-command.c     |    1 +
 gdb/tui/tui-data.c        |    4 ++--
 gdb/tui/tui-disasm.c      |    1 +
 gdb/tui/tui-interp.c      |    3 +++
 gdb/tui/tui-layout.c      |    5 +++++
 gdb/tui/tui-regs.c        |    6 +++++-
 gdb/tui/tui-stack.c       |    4 ++++
 gdb/tui/tui-win.c         |   10 ++++++++--
 gdb/tui/tui-win.h         |    3 +--
 gdb/tui/tui-windata.c     |    1 +
 gdb/tui/tui-wingeneral.c  |    2 +-
 gdb/utils.c               |    3 +++
 57 files changed, 140 insertions(+), 52 deletions(-)

Index: src/gdb/amd64-nat.c
===================================================================
--- src.orig/gdb/amd64-nat.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/amd64-nat.c	2009-02-21 16:03:27.000000000 +0000
@@ -26,6 +26,7 @@
 
 #include "i386-tdep.h"
 #include "amd64-tdep.h"
+#include "amd64-nat.h"
 
 /* The following bits of code help with implementing debugging 32-bit
    code natively on AMD64.  The idea is to define two mappings between
Index: src/gdb/cli/cli-logging.c
===================================================================
--- src.orig/gdb/cli/cli-logging.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/cli/cli-logging.c	2009-02-21 16:03:27.000000000 +0000
@@ -170,7 +170,7 @@ Usage: set logging on [FILENAME]\n\
        set logging redirect [on|off]\n"));
 }
 
-void
+static void
 show_logging_command (char *args, int from_tty)
 {
   if (saved_filename)
@@ -191,6 +191,9 @@ show_logging_command (char *args, int fr
     printf_unfiltered (_("Output will be logged and displayed.\n"));
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_cli_logging;
+
 void
 _initialize_cli_logging (void)
 {
Index: src/gdb/fork-child.c
===================================================================
--- src.orig/gdb/fork-child.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/fork-child.c	2009-02-21 16:03:27.000000000 +0000
@@ -543,6 +543,9 @@ unset_exec_wrapper_command (char *args, 
   exec_wrapper = NULL;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_fork_child;
+
 void
 _initialize_fork_child (void)
 {
Index: src/gdb/gcore.c
===================================================================
--- src.orig/gdb/gcore.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/gcore.c	2009-02-21 16:03:27.000000000 +0000
@@ -511,6 +511,9 @@ gcore_memory_sections (bfd *obfd)
   return 1;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_gcore;
+
 void
 _initialize_gcore (void)
 {
Index: src/gdb/inf-ptrace.c
===================================================================
--- src.orig/gdb/inf-ptrace.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/inf-ptrace.c	2009-02-21 16:03:27.000000000 +0000
@@ -32,6 +32,7 @@
 #include "gdb_wait.h"
 #include <signal.h>
 
+#include "inf-ptrace.h"
 #include "inf-child.h"
 #include "gdbthread.h"
 
@@ -761,7 +762,7 @@ inf_ptrace_store_register (const struct 
 /* Store register REGNUM back into the inferior.  If REGNUM is -1, do
    this for all registers.  */
 
-void
+static void
 inf_ptrace_store_registers (struct regcache *regcache, int regnum)
 {
   if (regnum == -1)
Index: src/gdb/linux-nat.c
===================================================================
--- src.orig/gdb/linux-nat.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/linux-nat.c	2009-02-21 16:08:31.000000000 +0000
@@ -4558,7 +4558,7 @@ linux_nat_terminal_inferior (void)
 
 /* target_terminal_ours implementation.  */
 
-void
+static void
 linux_nat_terminal_ours (void)
 {
   if (!target_is_async_p ())
@@ -4799,6 +4799,9 @@ linux_nat_setup_async (void)
   fcntl (linux_nat_event_pipe[1], F_SETFL, O_NONBLOCK);
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_linux_nat;
+
 void
 _initialize_linux_nat (void)
 {
Index: src/gdb/linux-tdep.c
===================================================================
--- src.orig/gdb/linux-tdep.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/linux-tdep.c	2009-02-21 16:03:27.000000000 +0000
@@ -19,6 +19,7 @@
 
 #include "defs.h"
 #include "gdbtypes.h"
+#include "linux-tdep.h"
 
 /* This function is suitable for architectures that don't
    extend/override the standard siginfo structure.  */
Index: src/gdb/linux-thread-db.c
===================================================================
--- src.orig/gdb/linux-thread-db.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/linux-thread-db.c	2009-02-21 16:03:27.000000000 +0000
@@ -1175,6 +1175,9 @@ init_thread_db_ops (void)
   thread_db_ops.to_magic = OPS_MAGIC;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_thread_db;
+
 void
 _initialize_thread_db (void)
 {
Index: src/gdb/proc-service.c
===================================================================
--- src.orig/gdb/proc-service.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/proc-service.c	2009-02-21 16:08:00.000000000 +0000
@@ -335,6 +335,9 @@ ps_getpid (gdb_ps_prochandle_t ph)
   return ph->pid;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_proc_service;
+
 void
 _initialize_proc_service (void)
 {
Index: src/gdb/remote.c
===================================================================
--- src.orig/gdb/remote.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/remote.c	2009-02-21 16:03:27.000000000 +0000
@@ -5709,7 +5709,7 @@ remote_xfer_memory (CORE_ADDR mem_addr, 
    FORMAT and the remaining arguments, then gets the reply.  Returns
    whether the packet was a success, a failure, or unknown.  */
 
-enum packet_result
+static enum packet_result
 remote_send_printf (const char *format, ...)
 {
   struct remote_state *rs = get_remote_state ();
Index: src/gdb/solib.c
===================================================================
--- src.orig/gdb/solib.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/solib.c	2009-02-21 16:03:27.000000000 +0000
@@ -45,6 +45,7 @@
 #include "observer.h"
 #include "readline/readline.h"
 #include "remote.h"
+#include "solib.h"
 
 /* Architecture-specific operations.  */
 
Index: src/gdb/symfile-mem.c
===================================================================
--- src.orig/gdb/symfile-mem.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/symfile-mem.c	2009-02-21 16:03:27.000000000 +0000
@@ -208,6 +208,10 @@ try using the \"file\" command first."))
 }
 
 
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_symfile_mem;
+
 void
 _initialize_symfile_mem (void)
 {
Index: src/gdb/ada-lang.c
===================================================================
--- src.orig/gdb/ada-lang.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/ada-lang.c	2009-02-21 16:03:27.000000000 +0000
@@ -1201,7 +1201,7 @@ ada_decode_symbol (const struct general_
   return *resultp;
 }
 
-char *
+static char *
 ada_la_decode (const char *encoded, int options)
 {
   return xstrdup (ada_decode (encoded));
@@ -1214,7 +1214,7 @@ ada_la_decode (const char *encoded, int 
    suffix of SYM_NAME minus the same suffixes.  Also returns 0 if
    either argument is NULL.  */
 
-int
+static int
 ada_match_name (const char *sym_name, const char *name, int wild)
 {
   if (sym_name == NULL || name == NULL)
@@ -1235,7 +1235,7 @@ ada_match_name (const char *sym_name, co
 /* True (non-zero) iff, in Ada mode, the symbol SYM should be
    suppressed in info listings.  */
 
-int
+static int
 ada_suppress_symbol_printing (struct symbol *sym)
 {
   if (SYMBOL_DOMAIN (sym) == STRUCT_DOMAIN)
@@ -1570,7 +1570,7 @@ ada_is_direct_array_type (struct type *t
 /* Non-zero iff TYPE represents any kind of array in Ada, or a pointer
  * to one. */
 
-int
+static int
 ada_is_array_type (struct type *type)
 {
   while (type != NULL 
@@ -2315,7 +2315,7 @@ ada_value_subscript (struct value *arr, 
    value of the element of *ARR at the ARITY indices given in
    IND.  Does not read the entire array into memory.  */
 
-struct value *
+static struct value *
 ada_value_ptr_subscript (struct value *arr, struct type *type, int arity,
                          struct value **ind)
 {
@@ -2574,7 +2574,7 @@ ada_array_bound (struct value *arr, int 
    Does not work for arrays indexed by enumeration types with representation
    clauses at the moment.  */
 
-struct value *
+static struct value *
 ada_array_length (struct value *arr, int n)
 {
   struct type *arr_type = ada_check_typedef (value_type (arr));
@@ -7532,7 +7532,7 @@ ada_to_fixed_value (struct value *val)
    without consulting any runtime values.  For Ada dynamic-sized
    types, therefore, the type of the result is likely to be inaccurate.  */
 
-struct value *
+static struct value *
 ada_to_static_fixed_value (struct value *val)
 {
   struct type *type =
@@ -11067,6 +11067,9 @@ const struct language_defn ada_language_
   LANG_MAGIC
 };
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_ada_language;
+
 void
 _initialize_ada_language (void)
 {
Index: src/gdb/ada-tasks.c
===================================================================
--- src.orig/gdb/ada-tasks.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/ada-tasks.c	2009-02-21 16:03:27.000000000 +0000
@@ -154,7 +154,7 @@ static int stale_task_list_p = 1;
 /* Return the task number of the task whose ptid is PTID, or zero
    if the task could not be found.  */
 
-int
+static int
 ada_get_task_number (ptid_t ptid)
 {
   int i;
@@ -199,7 +199,7 @@ valid_task_id (int task_num)
 /* Return the task info associated to the Environment Task.
    This function assumes that the inferior does in fact use tasking.  */
 
-struct ada_task_info *
+static struct ada_task_info *
 ada_get_environment_task (void)
 {
   ada_build_task_list (0);
@@ -942,7 +942,7 @@ Task switching not supported when debugg
 
 /* Indicate that the task list may have changed, so invalidate the cache.  */
 
-void
+static void
 ada_task_list_changed (void)
 {
   stale_task_list_p = 1;  
@@ -960,7 +960,7 @@ ada_normal_stop_observer (struct bpstats
 
 /* A routine to be called when the objfiles have changed.  */
 
-void
+static void
 ada_new_objfile_observer (struct objfile *objfile)
 {
   /* Invalidate all cached data that were extracted from an objfile.  */
@@ -973,6 +973,9 @@ ada_new_objfile_observer (struct objfile
   ada_tasks_check_symbol_table = 1;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_tasks;
+
 void
 _initialize_tasks (void)
 {
Index: src/gdb/addrmap.c
===================================================================
--- src.orig/gdb/addrmap.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/addrmap.c	2009-02-21 16:03:27.000000000 +0000
@@ -533,6 +533,9 @@ addrmap_create_mutable (struct obstack *
 
 /* Initialization.  */
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_addrmap;
+
 void
 _initialize_addrmap (void)
 {
Index: src/gdb/auxv.c
===================================================================
--- src.orig/gdb/auxv.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/auxv.c	2009-02-21 16:03:27.000000000 +0000
@@ -79,7 +79,7 @@ procfs_xfer_auxv (struct target_ops *ops
    Return 0 if *READPTR is already at the end of the buffer.
    Return -1 if there is insufficient buffer for a whole entry.
    Return 1 if an entry was read into *TYPEP and *VALP.  */
-int
+static int
 default_auxv_parse (struct target_ops *ops, gdb_byte **readptr,
 		   gdb_byte *endptr, CORE_ADDR *typep, CORE_ADDR *valp)
 {
Index: src/gdb/bfd-target.c
===================================================================
--- src.orig/gdb/bfd-target.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/bfd-target.c	2009-02-21 16:03:27.000000000 +0000
@@ -66,7 +66,7 @@ build_target_sections_from_bfd (struct t
   gdb_assert (cl.end - start <= count);
 }
 
-LONGEST
+static LONGEST
 target_bfd_xfer_partial (struct target_ops *ops,
 			 enum target_object object,
 			 const char *annex, gdb_byte *readbuf,
@@ -107,7 +107,7 @@ target_bfd_xfer_partial (struct target_o
     }
 }
 
-void
+static void
 target_bfd_xclose (struct target_ops *t, int quitting)
 {
   bfd_close (t->to_data);
Index: src/gdb/breakpoint.c
===================================================================
--- src.orig/gdb/breakpoint.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/breakpoint.c	2009-02-21 16:03:27.000000000 +0000
@@ -5157,7 +5157,8 @@ create_breakpoint (struct symtabs_and_li
 
 /* Remove element at INDEX_TO_REMOVE from SAL, shifting other
    elements to fill the void space.  */
-static void remove_sal (struct symtabs_and_lines *sal, int index_to_remove)
+static void
+remove_sal (struct symtabs_and_lines *sal, int index_to_remove)
 {
   int i = index_to_remove+1;
   int last_index = sal->nelts-1;
@@ -5182,7 +5183,7 @@ static void remove_sal (struct symtabs_a
    line in all existing instantiations of 'foo'.
 
 */
-struct symtabs_and_lines
+static struct symtabs_and_lines
 expand_line_sal_maybe (struct symtab_and_line sal)
 {
   struct symtabs_and_lines expanded;
Index: src/gdb/cp-name-parser.y
===================================================================
--- src.orig/gdb/cp-name-parser.y	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/cp-name-parser.y	2009-02-21 16:03:27.000000000 +0000
@@ -42,6 +42,7 @@ Boston, MA 02110-1301, USA.  */
 #include "safe-ctype.h"
 #include "libiberty.h"
 #include "demangle.h"
+#include "cp-support.h"
 
 /* Bison does not make it easy to create a parser without global
    state, unfortunately.  Here are all the global variables used
Index: src/gdb/cp-valprint.c
===================================================================
--- src.orig/gdb/cp-valprint.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/cp-valprint.c	2009-02-21 16:03:27.000000000 +0000
@@ -502,7 +502,7 @@ cp_print_static_field (struct type *type
    field number.  If OFFSET is not exactly at the start of some field, set
    *DOMAIN to NULL.  */
 
-void
+static void
 cp_find_class_member (struct type **domain_p, int *fieldno,
 		      LONGEST offset)
 {
Index: src/gdb/eval.c
===================================================================
--- src.orig/gdb/eval.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/eval.c	2009-02-21 16:03:27.000000000 +0000
@@ -413,7 +413,7 @@ init_array_element (struct value *array,
   return index;
 }
 
-struct value *
+static struct value *
 value_f90_subarray (struct value *array,
 		    struct expression *exp, int *pos, enum noside noside)
 {
Index: src/gdb/exceptions.c
===================================================================
--- src.orig/gdb/exceptions.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/exceptions.c	2009-02-21 16:03:27.000000000 +0000
@@ -356,7 +356,7 @@ exception_fprintf (struct ui_file *file,
     }
 }
 
-void
+static void
 print_any_exception (struct ui_file *file, const char *prefix,
 		     struct gdb_exception e)
 {
Index: src/gdb/findcmd.c
===================================================================
--- src.orig/gdb/findcmd.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/findcmd.c	2009-02-21 16:03:27.000000000 +0000
@@ -311,6 +311,9 @@ find_command (char *args, int from_tty)
   do_cleanups (old_cleanups);
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_mem_search;
+
 void
 _initialize_mem_search (void)
 {
Index: src/gdb/frame.c
===================================================================
--- src.orig/gdb/frame.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/frame.c	2009-02-21 16:03:27.000000000 +0000
@@ -1145,7 +1145,7 @@ get_next_frame (struct frame_info *this_
 
 /* Observer for the target_changed event.  */
 
-void
+static void
 frame_observer_target_changed (struct target_ops *target)
 {
   reinit_frame_cache ();
Index: src/gdb/gnu-v3-abi.c
===================================================================
--- src.orig/gdb/gnu-v3-abi.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/gnu-v3-abi.c	2009-02-21 16:03:27.000000000 +0000
@@ -482,7 +482,7 @@ gnuv3_baseclass_offset (struct type *typ
    which has virtual table index VOFFSET.  The method has an associated
    "this" adjustment of ADJUSTMENT bytes.  */
 
-const char *
+static const char *
 gnuv3_find_method_in (struct type *domain, CORE_ADDR voffset,
 		      LONGEST adjustment)
 {
Index: src/gdb/inf-child.c
===================================================================
--- src.orig/gdb/inf-child.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/inf-child.c	2009-02-21 16:03:27.000000000 +0000
@@ -27,6 +27,7 @@
 #include "target.h"
 #include "inferior.h"
 #include "gdb_string.h"
+#include "inf-child.h"
 
 /* Fetch register REGNUM from the inferior.  If REGNUM is -1, do this
    for all registers.  */
Index: src/gdb/inferior.h
===================================================================
--- src.orig/gdb/inferior.h	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/inferior.h	2009-02-21 16:03:27.000000000 +0000
@@ -479,7 +479,7 @@ extern int in_inferior_list (int pid);
 
 /* Boolean test for an already-known inferior id (GDB's homegrown id,
    not the system's).  */
-extern int valid_inferior_id (int num);
+extern int valid_gdb_inferior_id (int num);
 
 /* Search function to lookup a inferior by target 'pid'.  */
 extern struct inferior *find_inferior_pid (int pid);
Index: src/gdb/infrun.c
===================================================================
--- src.orig/gdb/infrun.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/infrun.c	2009-02-21 16:03:27.000000000 +0000
@@ -1660,7 +1660,7 @@ infrun_thread_stop_requested_callback (s
    Cleanup local state that assumed the PTID was to be resumed, and
    report the stop to the frontend.  */
 
-void
+static void
 infrun_thread_stop_requested (ptid_t ptid)
 {
   struct displaced_step_request *it, *next, *prev = NULL;
@@ -4848,7 +4848,7 @@ static struct lval_funcs siginfo_value_f
    the current thread.  Return a void value if there's no object
    available.  */
 
-struct value *
+static struct value *
 siginfo_make_value (struct internalvar *var)
 {
   struct type *type;
Index: src/gdb/jv-lang.c
===================================================================
--- src.orig/gdb/jv-lang.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/jv-lang.c	2009-02-21 16:03:27.000000000 +0000
@@ -1054,7 +1054,7 @@ enum java_primitive_types
   nr_java_primitive_types
 };
 
-void
+static void
 java_language_arch_info (struct gdbarch *gdbarch,
 			 struct language_arch_info *lai)
 {
Index: src/gdb/m2-typeprint.c
===================================================================
--- src.orig/gdb/m2-typeprint.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/m2-typeprint.c	2009-02-21 16:03:27.000000000 +0000
@@ -371,7 +371,7 @@ m2_is_long_set (struct type *type)
                             This should be integrated into gdbtypes.c
                             inside get_discrete_bounds.  */
 
-int
+static int
 m2_get_discrete_bounds (struct type *type, LONGEST *lowp, LONGEST *highp)
 {
   CHECK_TYPEDEF (type);
Index: src/gdb/osdata.c
===================================================================
--- src.orig/gdb/osdata.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/osdata.c	2009-02-21 16:03:27.000000000 +0000
@@ -278,7 +278,7 @@ get_osdata_column (struct osdata_item *i
   return NULL;
 }
 
-void
+static void
 info_osdata_command (char *type, int from_tty)
 {
   struct osdata *osdata = NULL;
Index: src/gdb/python/python.c
===================================================================
--- src.orig/gdb/python/python.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/python/python.c	2009-02-21 16:03:27.000000000 +0000
@@ -355,6 +355,9 @@ show_python (char *args, int from_tty)
 
 /* Initialize the Python code.  */
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_python;
+
 void
 _initialize_python (void)
 {
Index: src/gdb/regcache.c
===================================================================
--- src.orig/gdb/regcache.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/regcache.c	2009-02-21 16:03:27.000000000 +0000
@@ -447,7 +447,7 @@ struct regcache *get_current_regcache (v
 
 /* Observer for the target_changed event.  */
 
-void
+static void
 regcache_observer_target_changed (struct target_ops *target)
 {
   registers_changed ();
Index: src/gdb/reverse.c
===================================================================
--- src.orig/gdb/reverse.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/reverse.c	2009-02-21 16:03:27.000000000 +0000
@@ -103,6 +103,9 @@ reverse_finish (char *args, int from_tty
   exec_reverse_once ("finish", args, from_tty);
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_reverse;
+
 void
 _initialize_reverse (void)
 {
Index: src/gdb/stabsread.c
===================================================================
--- src.orig/gdb/stabsread.c	2009-02-21 16:01:17.000000000 +0000
+++ src/gdb/stabsread.c	2009-02-21 16:03:27.000000000 +0000
@@ -4264,7 +4264,7 @@ add_undefined_type (struct type *type, i
 
 /* Try to fix all undefined types pushed on the UNDEF_TYPES vector.  */
 
-void
+static void
 cleanup_undefined_types_noname (void)
 {
   int i;
@@ -4299,7 +4299,7 @@ cleanup_undefined_types_noname (void)
    yet defined at the time a pointer to it was made.
    Fix:  Do a full lookup on the struct/union tag.  */
 
-void
+static void
 cleanup_undefined_types_1 (void)
 {
   struct type **type;
Index: src/gdb/symfile.c
===================================================================
--- src.orig/gdb/symfile.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/symfile.c	2009-02-21 16:03:27.000000000 +0000
@@ -480,7 +480,7 @@ struct place_section_arg
 /* Find a unique offset to use for loadable section SECT if
    the user did not provide an offset.  */
 
-void
+static void
 place_section (bfd *abfd, asection *sect, void *obj)
 {
   struct place_section_arg *arg = obj;
Index: src/gdb/symtab.c
===================================================================
--- src.orig/gdb/symtab.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/symtab.c	2009-02-21 16:03:27.000000000 +0000
@@ -770,7 +770,7 @@ matching_obj_sections (struct obj_sectio
 /* Find which partial symtab contains PC and SECTION starting at psymtab PST.
    We may find a different psymtab than PST.  See FIND_PC_SECT_PSYMTAB.  */
 
-struct partial_symtab *
+static struct partial_symtab *
 find_pc_sect_psymtab_closer (CORE_ADDR pc, struct obj_section *section,
 			     struct partial_symtab *pst,
 			     struct minimal_symbol *msymbol)
Index: src/gdb/target-descriptions.c
===================================================================
--- src.orig/gdb/target-descriptions.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/target-descriptions.c	2009-02-21 16:03:27.000000000 +0000
@@ -1125,6 +1125,9 @@ maint_print_c_tdesc_cmd (char *args, int
   printf_unfiltered ("}\n");
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_target_descriptions;
+
 void
 _initialize_target_descriptions (void)
 {
Index: src/gdb/target.c
===================================================================
--- src.orig/gdb/target.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/target.c	2009-02-21 16:03:27.000000000 +0000
@@ -370,7 +370,7 @@ kill_or_be_killed (int from_tty)
    the PTID lwp and tid elements.  The pid used is the pid of the
    inferior_ptid.  */
 
-ptid_t
+static ptid_t
 default_get_ada_task_ptid (long lwp, long tid)
 {
   return ptid_build (ptid_get_pid (inferior_ptid), lwp, tid);
@@ -2207,7 +2207,7 @@ find_default_create_inferior (struct tar
   return;
 }
 
-int
+static int
 find_default_can_async_p (void)
 {
   struct target_ops *t;
@@ -2222,7 +2222,7 @@ find_default_can_async_p (void)
   return 0;
 }
 
-int
+static int
 find_default_is_async_p (void)
 {
   struct target_ops *t;
@@ -2237,7 +2237,7 @@ find_default_is_async_p (void)
   return 0;
 }
 
-int
+static int
 find_default_supports_non_stop (void)
 {
   struct target_ops *t;
@@ -2249,7 +2249,7 @@ find_default_supports_non_stop (void)
 }
 
 int
-target_supports_non_stop ()
+target_supports_non_stop (void)
 {
   struct target_ops *t;
   for (t = &current_target; t != NULL; t = t->beneath)
@@ -2523,7 +2523,7 @@ normal_pid_to_str (ptid_t ptid)
   return buf;
 }
 
-char *
+static char *
 dummy_pid_to_str (struct target_ops *ops, ptid_t ptid)
 {
   return normal_pid_to_str (ptid);
Index: src/gdb/tui/tui-command.c
===================================================================
--- src.orig/gdb/tui/tui-command.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-command.c	2009-02-21 16:03:27.000000000 +0000
@@ -26,6 +26,7 @@
 #include "tui/tui-data.h"
 #include "tui/tui-win.h"
 #include "tui/tui-io.h"
+#include "tui/tui-command.h"
 
 #include "gdb_curses.h"
 #include "gdb_string.h"
Index: src/gdb/tui/tui-data.c
===================================================================
--- src.orig/gdb/tui/tui-data.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-data.c	2009-02-21 16:03:27.000000000 +0000
@@ -483,7 +483,7 @@ tui_init_generic_part (struct tui_gen_wi
 
 /* init_content_element().
  */
-void
+static void
 init_content_element (struct tui_win_element *element, 
 		      enum tui_win_type type)
 {
@@ -532,7 +532,7 @@ init_content_element (struct tui_win_ele
     }
 }
 
-void
+static void
 init_win_info (struct tui_win_info *win_info)
 {
   tui_init_generic_part (&win_info->generic);
Index: src/gdb/tui/tui-disasm.c
===================================================================
--- src.orig/gdb/tui/tui-disasm.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-disasm.c	2009-02-21 16:03:27.000000000 +0000
@@ -35,6 +35,7 @@
 #include "tui/tui-winsource.h"
 #include "tui/tui-stack.h"
 #include "tui/tui-file.h"
+#include "tui/tui-disasm.h"
 
 #include "gdb_curses.h"
 
Index: src/gdb/tui/tui-interp.c
===================================================================
--- src.orig/gdb/tui/tui-interp.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-interp.c	2009-02-21 16:03:27.000000000 +0000
@@ -190,6 +190,9 @@ tui_command_loop (void *data)
   return;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_tui_interp;
+
 void
 _initialize_tui_interp (void)
 {
Index: src/gdb/tui/tui-layout.c
===================================================================
--- src.orig/gdb/tui/tui-layout.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-layout.c	2009-02-21 16:03:27.000000000 +0000
@@ -36,6 +36,7 @@
 #include "tui/tui-win.h"
 #include "tui/tui-winsource.h"
 #include "tui/tui-disasm.h"
+#include "tui/tui-layout.h"
 
 #include "gdb_string.h"
 #include "gdb_curses.h"
@@ -375,6 +376,10 @@ tui_default_win_viewport_height (enum tu
 
 /* Function to initialize gdb commands, for tui window layout
    manipulation.  */
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_tui_layout;
+
 void
 _initialize_tui_layout (void)
 {
Index: src/gdb/tui/tui-regs.c
===================================================================
--- src.orig/gdb/tui/tui-regs.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-regs.c	2009-02-21 16:03:27.000000000 +0000
@@ -36,6 +36,7 @@
 #include "tui/tui-windata.h"
 #include "tui/tui-wingeneral.h"
 #include "tui/tui-file.h"
+#include "tui/tui-regs.h"
 #include "reggroups.h"
 #include "valprint.h"
 
@@ -416,7 +417,7 @@ tui_display_registers_from (int start_el
    'start_element_no' on 'start_line_no' until the end of the register
    content or the end of the display height.  This function checks
    that we won't display off the end of the register display.  */
-void
+static void
 tui_display_reg_element_at_line (int start_element_no,
 				 int start_line_no)
 {
@@ -604,6 +605,9 @@ tui_reg_command (char *args, int from_tt
   help_list (tuireglist, "tui reg ", -1, gdb_stdout);
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_tui_regs;
+
 void
 _initialize_tui_regs (void)
 {
Index: src/gdb/tui/tui-stack.c
===================================================================
--- src.orig/gdb/tui/tui-stack.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-stack.c	2009-02-21 16:03:27.000000000 +0000
@@ -411,6 +411,10 @@ tui_show_frame_info (struct frame_info *
 
 /* Function to initialize gdb commands, for tui window stack
    manipulation.  */
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_tui_stack;
+
 void
 _initialize_tui_stack (void)
 {
Index: src/gdb/tui/tui-win.c
===================================================================
--- src.orig/gdb/tui/tui-win.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-win.c	2009-02-21 16:03:27.000000000 +0000
@@ -43,6 +43,7 @@
 #include "tui/tui-source.h"
 #include "tui/tui-winsource.h"
 #include "tui/tui-windata.h"
+#include "tui/tui-win.h"
 
 #include "gdb_curses.h"
 
@@ -348,6 +349,10 @@ tui_get_cmd_list (void)
 
 /* Function to initialize gdb commands, for tui window
    manipulation.  */
+
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_tui_win;
+
 void
 _initialize_tui_win (void)
 {
@@ -803,17 +808,18 @@ tui_resize_all (void)
     }
 }
 
-
+#ifdef SIGWINCH
 /* SIGWINCH signal handler for the tui.  This signal handler is always
    called, even when the readline package clears signals because it is
    set as the old_sigwinch() (TUI only).  */
-void
+static void
 tui_sigwinch_handler (int signal)
 {
   /* Say that a resize was done so that the readline can do it later
      when appropriate.  */
   tui_set_win_resized_to (TRUE);
 }
+#endif
 
 /* Initializes SIGWINCH signal handler for the tui.  */
 void
Index: src/gdb/tui/tui-win.h
===================================================================
--- src.orig/gdb/tui/tui-win.h	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-win.h	2009-02-21 16:03:27.000000000 +0000
@@ -36,7 +36,6 @@ extern void tui_scroll (enum tui_scroll_
 extern void tui_set_win_focus_to (struct tui_win_info *);
 extern void tui_resize_all (void);
 extern void tui_refresh_all_win (void);
-extern void tui_sigwinch_handler (int);
 
 extern chtype tui_border_ulcorner;
 extern chtype tui_border_urcorner;
@@ -55,6 +54,6 @@ extern void tui_initialize_win (void);
 extern void tui_update_gdb_sizes (void);
 
 /* Create or get the TUI command list.  */
-struct cmd_list_element **tui_get_cmd_list ();
+struct cmd_list_element **tui_get_cmd_list (void);
 
 #endif
Index: src/gdb/tui/tui-windata.c
===================================================================
--- src.orig/gdb/tui/tui-windata.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-windata.c	2009-02-21 16:03:27.000000000 +0000
@@ -25,6 +25,7 @@
 #include "tui/tui-data.h"
 #include "tui/tui-wingeneral.h"
 #include "tui/tui-regs.h"
+#include "tui/tui-windata.h"
 
 #include "gdb_string.h"
 #include "gdb_curses.h"
Index: src/gdb/tui/tui-wingeneral.c
===================================================================
--- src.orig/gdb/tui/tui-wingeneral.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/tui/tui-wingeneral.c	2009-02-21 16:03:27.000000000 +0000
@@ -77,7 +77,7 @@ tui_delete_win (WINDOW *window)
 
 
 /* Draw a border arround the window.  */
-void
+static void
 box_win (struct tui_gen_win_info *win_info, 
 	 int highlight_flag)
 {
Index: src/gdb/utils.c
===================================================================
--- src.orig/gdb/utils.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/utils.c	2009-02-21 16:03:27.000000000 +0000
@@ -3541,6 +3541,9 @@ gdb_buildargv (const char *s)
   return argv;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_utils;
+
 void
 _initialize_utils (void)
 {
Index: src/gdb/ada-exp.y
===================================================================
--- src.orig/gdb/ada-exp.y	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/ada-exp.y	2009-02-21 16:03:27.000000000 +0000
@@ -1520,6 +1520,9 @@ type_system_address (void)
   return  type != NULL ? type : parse_type->builtin_data_ptr;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_ada_exp;
+
 void
 _initialize_ada_exp (void)
 {
Index: src/gdb/solib-svr4.c
===================================================================
--- src.orig/gdb/solib-svr4.c	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/solib-svr4.c	2009-02-21 16:03:27.000000000 +0000
@@ -149,7 +149,7 @@ LM_ADDR_FROM_LINK_MAP (struct so_list *s
 }
 
 static int
-HAS_LM_DYNAMIC_FROM_LINK_MAP ()
+HAS_LM_DYNAMIC_FROM_LINK_MAP (void)
 {
   struct link_map_offsets *lmo = svr4_fetch_link_map_offsets ();
 
Index: src/gdb/target.h
===================================================================
--- src.orig/gdb/target.h	2009-02-21 16:01:18.000000000 +0000
+++ src/gdb/target.h	2009-02-21 16:03:27.000000000 +0000
@@ -538,7 +538,7 @@ struct target_ops
 			     CORE_ADDR *found_addrp);
 
     /* Can target execute in reverse?  */
-    int (*to_can_execute_reverse) ();
+    int (*to_can_execute_reverse) (void);
 
     /* Does this target support debugging multiple processes
        simultaneously?  */
Index: src/gdb/cp-namespace.c
===================================================================
--- src.orig/gdb/cp-namespace.c	2009-02-21 16:03:32.000000000 +0000
+++ src/gdb/cp-namespace.c	2009-02-21 16:05:49.000000000 +0000
@@ -811,6 +811,9 @@ maintenance_cplus_namespace (char *args,
     }
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_cp_namespace;
+
 void
 _initialize_cp_namespace (void)
 {
Index: src/gdb/macroscope.c
===================================================================
--- src.orig/gdb/macroscope.c	2009-02-21 16:03:40.000000000 +0000
+++ src/gdb/macroscope.c	2009-02-21 16:05:23.000000000 +0000
@@ -151,6 +151,8 @@ standard_macro_lookup (const char *name,
   return result;
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_macroscope;
 
 void
 _initialize_macroscope (void)
Index: src/gdb/mi/mi-common.c
===================================================================
--- src.orig/gdb/mi/mi-common.c	2009-02-21 16:03:47.000000000 +0000
+++ src/gdb/mi/mi-common.c	2009-02-21 16:05:07.000000000 +0000
@@ -42,6 +42,9 @@ async_reason_lookup (enum async_reply_re
   return async_reason_string_lookup[reason];
 }
 
+/* Provide a prototype to silence -Wmissing-prototypes.  */
+extern initialize_file_ftype _initialize_gdb_mi_common;
+
 void
 _initialize_gdb_mi_common (void)
 {


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]