From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 31419 invoked by alias); 21 Feb 2009 16:32:14 -0000 Received: (qmail 31403 invoked by uid 22791); 21 Feb 2009 16:32:09 -0000 X-SWARE-Spam-Status: No, hits=1.7 required=5.0 tests=AWL,BAYES_50,KAM_STOCKTIP,SPF_PASS X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Sat, 21 Feb 2009 16:32:00 +0000 Received: (qmail 26860 invoked from network); 21 Feb 2009 16:31:57 -0000 Received: from unknown (HELO orlando) (pedro@127.0.0.2) by mail.codesourcery.com with ESMTPA; 21 Feb 2009 16:31:57 -0000 From: Pedro Alves To: Mark Kettenis Subject: Re: Fix most -Wmissing-prototypes -Wmissing-declarations warnings Date: Sun, 22 Feb 2009 11:19:00 -0000 User-Agent: KMail/1.9.10 Cc: gdb-patches@sourceware.org References: <200902180201.05118.pedro@codesourcery.com> <200902181425.13598.pedro@codesourcery.com> <200902192024.n1JKOruB026786@brahms.sibelius.xs4all.nl> In-Reply-To: <200902192024.n1JKOruB026786@brahms.sibelius.xs4all.nl> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200902211631.55628.pedro@codesourcery.com> X-IsSubscribed: yes Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2009-02/txt/msg00415.txt.bz2 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 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 +#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 = ¤t_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) {