I think -Wimplicit-function-declaration is a better fit for the
desired warning here. We don't want implicit function declarations.
This is the same warning we recently added to userland in a few places.
-Wstrict-prototypes was used in the past because I think the above
warning wasn't available? Anyway, I don't like it, because combined
with the no static rule, even private functions need prototypes. I
think it's silly when I see code that does...
int somefun(int); /* declaration */
int
somefun(int x)
{
/* definition two lines later */
}
If a function is defined before it's used, it shouldn't be necessary
to provide a private declaration, too.
Tested that amd64 still compiles (that's expected), but also verified
this still gives the desired warnings (and errors) when calling a
function with no declaration in scope.
Index: alpha/conf/Makefile.alpha
===================================================================
RCS file: /cvs/src/sys/arch/alpha/conf/Makefile.alpha,v
retrieving revision 1.85
diff -u -p -r1.85 Makefile.alpha
--- alpha/conf/Makefile.alpha 18 Nov 2014 01:17:36 -0000 1.85
+++ alpha/conf/Makefile.alpha 8 Jan 2015 23:48:11 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: amd64/conf/Makefile.amd64
===================================================================
RCS file: /cvs/src/sys/arch/amd64/conf/Makefile.amd64,v
retrieving revision 1.63
diff -u -p -r1.63 Makefile.amd64
--- amd64/conf/Makefile.amd64 18 Nov 2014 01:11:13 -0000 1.63
+++ amd64/conf/Makefile.amd64 8 Jan 2015 23:43:30 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: armish/conf/Makefile.armish
===================================================================
RCS file: /cvs/src/sys/arch/armish/conf/Makefile.armish,v
retrieving revision 1.49
diff -u -p -r1.49 Makefile.armish
--- armish/conf/Makefile.armish 4 Oct 2014 18:10:14 -0000 1.49
+++ armish/conf/Makefile.armish 8 Jan 2015 23:48:33 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: armv7/conf/Makefile.armv7
===================================================================
RCS file: /cvs/src/sys/arch/armv7/conf/Makefile.armv7,v
retrieving revision 1.5
diff -u -p -r1.5 Makefile.armv7
--- armv7/conf/Makefile.armv7 4 Oct 2014 18:10:14 -0000 1.5
+++ armv7/conf/Makefile.armv7 8 Jan 2015 23:48:37 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: aviion/conf/Makefile.aviion
===================================================================
RCS file: /cvs/src/sys/arch/aviion/conf/Makefile.aviion,v
retrieving revision 1.49
diff -u -p -r1.49 Makefile.aviion
--- aviion/conf/Makefile.aviion 18 Nov 2014 01:17:36 -0000 1.49
+++ aviion/conf/Makefile.aviion 8 Jan 2015 23:48:41 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: hppa/conf/Makefile.hppa
===================================================================
RCS file: /cvs/src/sys/arch/hppa/conf/Makefile.hppa,v
retrieving revision 1.78
diff -u -p -r1.78 Makefile.hppa
--- hppa/conf/Makefile.hppa 18 Nov 2014 01:17:36 -0000 1.78
+++ hppa/conf/Makefile.hppa 8 Jan 2015 23:48:45 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: hppa64/conf/Makefile.hppa64
===================================================================
RCS file: /cvs/src/sys/arch/hppa64/conf/Makefile.hppa64,v
retrieving revision 1.50
diff -u -p -r1.50 Makefile.hppa64
--- hppa64/conf/Makefile.hppa64 18 Nov 2014 01:17:36 -0000 1.50
+++ hppa64/conf/Makefile.hppa64 8 Jan 2015 23:48:47 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: i386/conf/Makefile.i386
===================================================================
RCS file: /cvs/src/sys/arch/i386/conf/Makefile.i386,v
retrieving revision 1.90
diff -u -p -r1.90 Makefile.i386
--- i386/conf/Makefile.i386 4 Oct 2014 18:10:14 -0000 1.90
+++ i386/conf/Makefile.i386 8 Jan 2015 23:48:52 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: landisk/conf/Makefile.landisk
===================================================================
RCS file: /cvs/src/sys/arch/landisk/conf/Makefile.landisk,v
retrieving revision 1.51
diff -u -p -r1.51 Makefile.landisk
--- landisk/conf/Makefile.landisk 4 Oct 2014 18:10:14 -0000 1.51
+++ landisk/conf/Makefile.landisk 8 Jan 2015 23:48:55 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: loongson/conf/Makefile.loongson
===================================================================
RCS file: /cvs/src/sys/arch/loongson/conf/Makefile.loongson,v
retrieving revision 1.43
diff -u -p -r1.43 Makefile.loongson
--- loongson/conf/Makefile.loongson 18 Nov 2014 01:17:37 -0000 1.43
+++ loongson/conf/Makefile.loongson 8 Jan 2015 23:48:59 -0000
@@ -30,7 +30,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: luna88k/conf/Makefile.luna88k
===================================================================
RCS file: /cvs/src/sys/arch/luna88k/conf/Makefile.luna88k,v
retrieving revision 1.57
diff -u -p -r1.57 Makefile.luna88k
--- luna88k/conf/Makefile.luna88k 18 Nov 2014 01:17:37 -0000 1.57
+++ luna88k/conf/Makefile.luna88k 8 Jan 2015 23:49:06 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: macppc/conf/Makefile.macppc
===================================================================
RCS file: /cvs/src/sys/arch/macppc/conf/Makefile.macppc,v
retrieving revision 1.69
diff -u -p -r1.69 Makefile.macppc
--- macppc/conf/Makefile.macppc 4 Oct 2014 18:10:14 -0000 1.69
+++ macppc/conf/Makefile.macppc 8 Jan 2015 23:49:10 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: octeon/conf/Makefile.octeon
===================================================================
RCS file: /cvs/src/sys/arch/octeon/conf/Makefile.octeon,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile.octeon
--- octeon/conf/Makefile.octeon 18 Nov 2014 01:17:37 -0000 1.19
+++ octeon/conf/Makefile.octeon 8 Jan 2015 23:49:14 -0000
@@ -30,7 +30,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: sgi/conf/Makefile.sgi
===================================================================
RCS file: /cvs/src/sys/arch/sgi/conf/Makefile.sgi,v
retrieving revision 1.67
diff -u -p -r1.67 Makefile.sgi
--- sgi/conf/Makefile.sgi 18 Nov 2014 01:17:37 -0000 1.67
+++ sgi/conf/Makefile.sgi 8 Jan 2015 23:49:18 -0000
@@ -30,7 +30,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: socppc/conf/Makefile.socppc
===================================================================
RCS file: /cvs/src/sys/arch/socppc/conf/Makefile.socppc,v
retrieving revision 1.40
diff -u -p -r1.40 Makefile.socppc
--- socppc/conf/Makefile.socppc 4 Oct 2014 18:10:14 -0000 1.40
+++ socppc/conf/Makefile.socppc 8 Jan 2015 23:49:26 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: solbourne/conf/Makefile.solbourne
===================================================================
RCS file: /cvs/src/sys/arch/solbourne/conf/Makefile.solbourne,v
retrieving revision 1.45
diff -u -p -r1.45 Makefile.solbourne
--- solbourne/conf/Makefile.solbourne 18 Nov 2014 01:17:37 -0000 1.45
+++ solbourne/conf/Makefile.solbourne 8 Jan 2015 23:49:29 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: sparc/conf/Makefile.sparc
===================================================================
RCS file: /cvs/src/sys/arch/sparc/conf/Makefile.sparc,v
retrieving revision 1.82
diff -u -p -r1.82 Makefile.sparc
--- sparc/conf/Makefile.sparc 18 Nov 2014 01:17:37 -0000 1.82
+++ sparc/conf/Makefile.sparc 8 Jan 2015 23:49:34 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: sparc64/conf/Makefile.sparc64
===================================================================
RCS file: /cvs/src/sys/arch/sparc64/conf/Makefile.sparc64,v
retrieving revision 1.70
diff -u -p -r1.70 Makefile.sparc64
--- sparc64/conf/Makefile.sparc64 18 Nov 2014 01:17:37 -0000 1.70
+++ sparc64/conf/Makefile.sparc64 8 Jan 2015 23:49:37 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: vax/conf/Makefile.vax
===================================================================
RCS file: /cvs/src/sys/arch/vax/conf/Makefile.vax,v
retrieving revision 1.72
diff -u -p -r1.72 Makefile.vax
--- vax/conf/Makefile.vax 4 Oct 2014 18:10:14 -0000 1.72
+++ vax/conf/Makefile.vax 8 Jan 2015 23:49:41 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047
Index: zaurus/conf/Makefile.zaurus
===================================================================
RCS file: /cvs/src/sys/arch/zaurus/conf/Makefile.zaurus,v
retrieving revision 1.52
diff -u -p -r1.52 Makefile.zaurus
--- zaurus/conf/Makefile.zaurus 4 Oct 2014 18:10:15 -0000 1.52
+++ zaurus/conf/Makefile.zaurus 8 Jan 2015 23:49:47 -0000
@@ -23,7 +23,7 @@ _archdir?= $S/arch/${_arch}
INCLUDES= -nostdinc -I$S -I. -I$S/arch
CPPFLAGS= ${INCLUDES} ${IDENT} ${PARAM} -D_KERNEL -D__${_mach}__ -MD -MP
-CWARNFLAGS= -Werror -Wall -Wstrict-prototypes -Wmissing-prototypes \
+CWARNFLAGS= -Werror -Wall -Wimplicit-function-declaration \
-Wno-main -Wno-uninitialized \
-Wframe-larger-than=2047