svn commit: r334199 - head/usr.sbin/bhyve

Rodney W. Grimes freebsd at pdx.rh.CN85.dnsmgr.net
Fri May 25 20:22:46 UTC 2018


> On Sat, May 26, 2018, 4:09 AM Warner Losh <imp at bsdimp.com> wrote:
> 
> >
> >
> > On Fri, May 25, 2018 at 2:02 PM, Ed Maste <emaste at freebsd.org> wrote:
> >
> >> On 25 May 2018 at 14:26, Marcelo Araujo <araujobsdport at gmail.com> wrote:
> >> >
> >> >> The fact that we don't do NDEBUG builds normally does not allow us to
> >> >> ignore that it exists.  It's perfectly reasonable for a user to build
> >> >> with CFLAGS+=NDEBUG.  That need to work.  If code is going to fail to
> >> >> handle resource errors with NDEBUG set then it needs something like
> >> this
> >> >> at the top of the file:
> >> >
> >> > Please document it in some place!
> >>
> >> NDEBUG is documented in assert(3). The man page should have more of an
> >> explanation (and examples) of the possible pitfalls of assert()
> >> though
> >>
> >
> > NDEBUG has been documented in the assert man page since it entered Unix
> > via PBW in the 7th Edition Unix from Bell Labs. It's part of the C
> > standard, as well as many POSIX and SVID docs.
> >
> 
> Yes I can read that! Now tell me, do we build FreeBSD without assert?
> 
> If we do, probably we can't run it without crash!

So that makes it perfectly fine to continue what is a well known bad
practice?  I do not think so.  

Many people have tried to persuade you that the *proper* way to check
the return from a function is with an if statement, not with an assert,
please try to accept that this is pretty much standard accepted portable
'C' coding, and realize all those places you see assert(foo) checking
the return of a function are more than likely lurking bugs to be fixed.

-- 
Rod Grimes                                                 rgrimes at freebsd.org


More information about the svn-src-all mailing list