This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
[PATCH 00/14] -Wmissing-prototypes: Intro
- From: Pedro Alves <palves at redhat dot com>
- To: gdb-patches at sourceware dot org
- Date: Wed, 29 Feb 2012 16:16:28 +0000
- Subject: [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.