gdb: enable -Wmissing-prototypes warning

Message ID 20200303223442.330-1-simon.marchi@efficios.com
State New
Headers show
Series
  • gdb: enable -Wmissing-prototypes warning
Related show

Commit Message

Simon Marchi March 3, 2020, 10:34 p.m.
While compiling with clang, I noticed it didn't catch cases where my
function declaration didn't match my function definition.  This is
normally caught by gcc with -Wmissing-declarations.

On clang, this is caught by -Wmissing-prototypes instead.

Note that on gcc, -Wmissing-prototypes also exists, but is only valid
for C and Objective-C.  It gets correctly rejected by the configure
script since gcc rejects it with:

    cc1plus: error: command line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++ -Werror

So this warning flag ends up not used for gcc (which is what we want).

gdb/ChangeLog:

	* configure: Re-generate.

gdbserver/ChangeLog:

	* configure: Re-generate.

gdbsupport/ChangeLog:

	* configure: Re-generate.
	* warning.m4: Enable -Wmissing-prototypes.
---
 gdb/configure         | 1 +
 gdbserver/configure   | 1 +
 gdbsupport/configure  | 1 +
 gdbsupport/warning.m4 | 1 +
 4 files changed, 4 insertions(+)

-- 
2.25.1

Comments

Simon Marchi March 11, 2020, 7:16 p.m. | #1
On 2020-03-03 5:34 p.m., Simon Marchi wrote:
> While compiling with clang, I noticed it didn't catch cases where my

> function declaration didn't match my function definition.  This is

> normally caught by gcc with -Wmissing-declarations.

> 

> On clang, this is caught by -Wmissing-prototypes instead.

> 

> Note that on gcc, -Wmissing-prototypes also exists, but is only valid

> for C and Objective-C.  It gets correctly rejected by the configure

> script since gcc rejects it with:

> 

>     cc1plus: error: command line option '-Wmissing-prototypes' is valid for C/ObjC but not for C++ -Werror

> 

> So this warning flag ends up not used for gcc (which is what we want).

> 

> gdb/ChangeLog:

> 

> 	* configure: Re-generate.

> 

> gdbserver/ChangeLog:

> 

> 	* configure: Re-generate.

> 

> gdbsupport/ChangeLog:

> 

> 	* configure: Re-generate.

> 	* warning.m4: Enable -Wmissing-prototypes.


I just pushed this patch.

Simon

Patch

diff --git a/gdb/configure b/gdb/configure
index f99cbe40f11f..47ca77f400c8 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -16323,6 +16323,7 @@  build_warnings="-Wall -Wpointer-arith \
 -Wdeprecated-copy-dtor \
 -Wredundant-move \
 -Wmissing-declarations \
+-Wmissing-prototypes \
 -Wstrict-null-sentinel \
 "
 
diff --git a/gdbserver/configure b/gdbserver/configure
index be5719eb77aa..13ac7188454d 100755
--- a/gdbserver/configure
+++ b/gdbserver/configure
@@ -9616,6 +9616,7 @@  build_warnings="-Wall -Wpointer-arith \
 -Wdeprecated-copy-dtor \
 -Wredundant-move \
 -Wmissing-declarations \
+-Wmissing-prototypes \
 -Wstrict-null-sentinel \
 "
 
diff --git a/gdbsupport/configure b/gdbsupport/configure
index a4871f8d5bce..11ebee513c40 100755
--- a/gdbsupport/configure
+++ b/gdbsupport/configure
@@ -10871,6 +10871,7 @@  build_warnings="-Wall -Wpointer-arith \
 -Wdeprecated-copy-dtor \
 -Wredundant-move \
 -Wmissing-declarations \
+-Wmissing-prototypes \
 -Wstrict-null-sentinel \
 "
 
diff --git a/gdbsupport/warning.m4 b/gdbsupport/warning.m4
index 81939ed76102..649be7552dd1 100644
--- a/gdbsupport/warning.m4
+++ b/gdbsupport/warning.m4
@@ -51,6 +51,7 @@  build_warnings="-Wall -Wpointer-arith \
 -Wdeprecated-copy-dtor \
 -Wredundant-move \
 -Wmissing-declarations \
+-Wmissing-prototypes \
 -Wstrict-null-sentinel \
 "