From owner-svn-src-all@freebsd.org Fri May 25 20:22:46 2018 Return-Path: Delivered-To: svn-src-all@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 58BAFEF35D4; Fri, 25 May 2018 20:22:46 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (br1.CN84in.dnsmgr.net [69.59.192.140]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id C85C472A31; Fri, 25 May 2018 20:22:45 +0000 (UTC) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: from pdx.rh.CN85.dnsmgr.net (localhost [127.0.0.1]) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3) with ESMTP id w4PKMes4047390; Fri, 25 May 2018 13:22:40 -0700 (PDT) (envelope-from freebsd@pdx.rh.CN85.dnsmgr.net) Received: (from freebsd@localhost) by pdx.rh.CN85.dnsmgr.net (8.13.3/8.13.3/Submit) id w4PKMdPY047389; Fri, 25 May 2018 13:22:39 -0700 (PDT) (envelope-from freebsd) From: "Rodney W. Grimes" Message-Id: <201805252022.w4PKMdPY047389@pdx.rh.CN85.dnsmgr.net> Subject: Re: svn commit: r334199 - head/usr.sbin/bhyve In-Reply-To: To: araujo@freebsd.org Date: Fri, 25 May 2018 13:22:39 -0700 (PDT) CC: Warner Losh , Ed Maste , src-committers , svn-src-all@freebsd.org, svn-src-head@freebsd.org Reply-To: rgrimes@freebsd.org X-Mailer: ELM [version 2.4ME+ PL121h (25)] MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.26 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 25 May 2018 20:22:46 -0000 > On Sat, May 26, 2018, 4:09 AM Warner Losh wrote: > > > > > > > On Fri, May 25, 2018 at 2:02 PM, Ed Maste wrote: > > > >> On 25 May 2018 at 14:26, Marcelo Araujo 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@freebsd.org