Subject: Re: misc/508: requires but doesn't #include it
To: Charles M. Hannum <mycroft@gnu.ai.mit.edu>
From: Nate Williams <nate@bsd.coe.montana.edu>
List: netbsd-bugs
Date: 10/08/1994 17:27:54
> This patch is bogus.  If you're going to include things from sys/,
> it's *your* problem to insure that any files they depend on are
> included.

I agree to a point with Charles, but in cases as this I would agree that
if it uses very standard definitions, *it* should take care of including
the correct definitions.

Apparently CSRG though that you include files inside of include files
occasionally as well.

[ Slightly edited to remove unimportant information ]

Script started on Sat Oct  8 17:23:50 1994
cd bsd:/usr/user/nate % cd /usr/include/sys
bsd:/usr/include/sys % fgrep include *.h | fgrep -v product
dir.h:#include <dirent.h>
disklabel.h:#include <sys/cdefs.h>
disklabel.h:#include <sys/conf.h>
disklabel.h:#include "conf.h"
disklabel.h:#include <sys/cdefs.h>
fcntl.h:#include <sys/types.h>
fcntl.h:#include <sys/cdefs.h>
file.h:#include <sys/fcntl.h>
file.h:#include <sys/unistd.h>
ftape.h:#include <sys/ioctl.h>
imgact.h:#include "proc.h"
imgact.h:#include "namei.h"
imgact.h:#include "vnode.h"
ioctl.h:#include <sys/cdefs.h>
ioctl.h:#include "ioctl_compat.h"
ioctl.h:#include <sys/ioctl_compat.h>
ioctl_compat.h:#include "ttychars.h"
ioctl_compat.h:#include "ttydev.h"
ioctl_compat.h:#include <sys/ttychars.h>
ioctl_compat.h:#include <sys/ttydev.h>
kinfo.h:#include <sys/cdefs.h>
kinfo_proc.h:#include <sys/time.h>
kinfo_proc.h:#include <sys/ucred.h>
kinfo_proc.h:#include <sys/proc.h>
kinfo_proc.h:#include <vm/vm.h>
ktrace.h:#include <sys/cdefs.h>
mbuf.h:#include "malloc.h"
mman.h:#include <sys/cdefs.h>
mount.h:#include <sys/cdefs.h>
msg.h:#include "ipc.h"
msg.h:#include <sys/ipc.h>
msg.h:#include <sys/cdefs.h>
param.h:#include <sys/types.h>
param.h:#include <sys/syslimits.h>
param.h:#include <sys/cdefs.h>
param.h:#include <sys/errno.h>
param.h:#include <sys/time.h>
param.h:#include <sys/resource.h>
param.h:#include <sys/ucred.h>
param.h:#include <sys/uio.h>
param.h:#include <sys/signal.h>
param.h:#include <machine/param.h>
param.h:#include <machine/endian.h>
param.h:#include <machine/limits.h>
proc.h:#include <machine/proc.h>		/* machine-dependent proc substruct */
ptrace.h:#include <sys/cdefs.h>
resource.h:#include <sys/cdefs.h>
scsiio.h:#include <sys/types.h>
scsiio.h:#include <sys/ioctl.h>
sem.h:#include "ipc.h"
sem.h:#include <sys/ipc.h>
sem.h:#include <sys/cdefs.h>
shm.h:#include "ipc.h"
shm.h:#include <sys/ipc.h>
shm.h:#include <sys/cdefs.h>
signal.h:#include <machine/trap.h>	/* codes for SIGILL, SIGFPE */
signal.h:#include <sys/cdefs.h>
signal.h:#include <sys/types.h>
socket.h:#include <sys/cdefs.h>
stat.h:#include <sys/cdefs.h>
syslog.h: * included in this file.
syslog.h:#include <sys/cdefs.h>
syslog.h:#include <stdarg.h>
systm.h:#include "sys/param.h"		/* XXX */
systm.h:#include "sys/sysent.h"		/* XXX */
systm.h:#include <machine/cpufunc.h>
termios.h:#include <sys/cdefs.h>
termios.h:#include "ttydefaults.h"
termios.h:#include <sys/ttydefaults.h>
time.h:#include <time.h>
time.h:#include <sys/cdefs.h>
times.h:#include <machine/ansi.h>
times.h:#include <sys/cdefs.h>
timex.h: *	#include <sys/timex.h>
timex.h: *	#include <sys/timex.h>
timex.h:#include <sys/syscall.h>
timex.h:#include <sys/cdefs.h>
tty.h:#include <sys/termios.h>
ttychars.h:#include <sys/ttydefaults.h>	/* to pick up character defaults */
ttydefaults.h: * #define TTYDEFCHARS to include an array of default control characters.
types.h:#include <machine/ansi.h>
types.h:#include <machine/types.h>
uio.h:#include <sys/cdefs.h>
user.h:#include <machine/pcb.h>
user.h:#include <errno.h>
user.h:#include <sys/time.h>
user.h:#include <sys/resource.h>
user.h:#include <sys/ucred.h>
user.h:#include <sys/uio.h>
user.h:#include <sys/resourcevar.h>
user.h:#include <sys/signalvar.h>
user.h:#include <vm/vm.h>		/* XXX */
user.h:#include <sys/kinfo_proc.h>
vnode.h:#include <machine/endian.h>
wait.h:#include <machine/endian.h>
wait.h:#include <sys/types.h>
wait.h:#include <sys/cdefs.h>
bsd:/usr/include/sys % ^D
Script done on Sat Oct  8 17:24:24 1994


Nate