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]

[PATCH 00/14] -Wmissing-prototypes: Intro


It's that time of the year again...

Back in Feb 2008, and then on Feb 2009 again, I cleaned up the tree to
make it buildable with -Wmissing-prototypes on
x86_64-unknown-linux-gnu (--enable-targets=all, I think), but I ended
up not adding -Wmissing-prototypes to the default warnings set.  Since
then, another set of -Wmissing-prototypes problems cropped up.

So this series fixes all I could see, and then proposes finally
enabling -Wmissing-prototypes by default, to make sure I won't go
through this again in Feb 2013...

This warning is quite useful as it catches these kinds of issues:

 - modules (.c files) that don't include their own header, where
   there's potential to change some function's prototype in the .c
   file, and forget to adjust it in the .h file, and then you end up
   scratching your head wondering why is GDB behaving funny or
   crashing (because clients of your function hadn't been adjusted to
   the new prototype, because they were still being compiled with the
   old prototype in the header).

 - It's harder to end up with extern functions that should be static,
   because the compiler will complain that it hasn't seen a prototype
   for the function.  In most cases, the fix for the warning it to
   make the function static.

 - Helps get rid of unused functions.  The above point means that as
   soon as you make the function static, if there are no callers to
   the function, the compiler will complain about an unused static
   function, so you end up deleting the dead code.

   There are examples of all these in the series.

Tested on x86_64 Fedora 16.

---

Pedro Alves (14):
      -Wmissing-prototypes: Ada.
      -Wmissing-prototypes: proc-service.
      -Wmissing-prototypes: Garbage collect inferior.c:delete_threads_of_inferior.
      -Wmissing-prototypes: Python
      -Wmissing-prototypes: cleanup encode_actions hack.
      -Wmissing-prototypes: TUI.
      -Wmissing-prototypes: inline-frame.c.
      -Wmissing-prototypes: The find_and_open_source hack.
      -Wmissing-prototypes: jit-reader.in (plugin_is_GPL_compatible).
      -Wmissing-prototypes: common/signals.c.
      -Wmissing-prototypes: observer.c's testsuite helpers.
      -Wmissing-prototypes: hook linux_has_shared_address_space.
      -Wmissing-prototypes: All others.
      -Wmissing-prototypes: Build with -Wmissing-prototypes by default.


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