cvs commit: src/sys/vm vm_map.c
Bruce Evans
bde at zeta.org.au
Wed Jun 30 21:00:30 PDT 2004
On Tue, 29 Jun 2004, David Schultz wrote:
> On Wed, Jun 30, 2004, Bruce Evans wrote:
> > On Tue, 29 Jun 2004, Andrew Gallatin wrote:
> >
> > > Bruce Evans writes:
> > > > MIN() and MAX() should not be used in the kernel. 4.4BSD removed them in
> > > > the kernel, but FreeBSD broke this in rev.1.141 of sys/param.h. They
> > > > remain removed in RELENG_4.
> > >
> > > OK. Then what's the correct fix? ulmin()?
> >
> > Fixing min() to handle all unsigned types is probably best.
>
> Hmm...but this means either
>
> a) slightly pessimizing 32-bit ports with a function on uintmax_t's,
This was in my list of slightly incorrect fixes.
> b) using a macro and introducing double-expansion problems, or
This was removed in 4.4BSD.
> c) using GCC extensions
>
> Option (c) seems best from a technical standpoint, except that
> we'd be making it harder than it already is to compile the kernel
> with compilers other than gcc and icc. (Do others have the
> statement expr extension?)
I tried not to use gcc extensions for this back in FreeBSD-2, but
the kernel is now so full with gccisms that another one wouldn't
matter. It needs __typeof() more than staement-expressions.
Bruce
More information about the cvs-src
mailing list