From owner-svn-src-all@FreeBSD.ORG Mon May 27 17:23:30 2013 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id CC0E4AAC; Mon, 27 May 2013 17:23:30 +0000 (UTC) (envelope-from das@FreeBSD.org) Received: from zim.MIT.EDU (50-196-151-174-static.hfc.comcastbusiness.net [50.196.151.174]) by mx1.freebsd.org (Postfix) with ESMTP id 93BD1FC9; Mon, 27 May 2013 17:23:30 +0000 (UTC) Received: from zim.MIT.EDU (localhost [127.0.0.1]) by zim.MIT.EDU (8.14.7/8.14.2) with ESMTP id r4RHNQHJ006600; Mon, 27 May 2013 10:23:26 -0700 (PDT) (envelope-from das@FreeBSD.org) Received: (from das@localhost) by zim.MIT.EDU (8.14.7/8.14.2/Submit) id r4RHNQpB006599; Mon, 27 May 2013 10:23:26 -0700 (PDT) (envelope-from das@FreeBSD.org) Date: Mon, 27 May 2013 10:23:26 -0700 From: David Schultz To: Steve Kargl Subject: Re: svn commit: r251024 - in head: lib/msun lib/msun/ld128 lib/msun/ld80 lib/msun/src tools/regression/lib/msun Message-ID: <20130527172326.GA6461@zim.MIT.EDU> References: <201305270850.r4R8oA6g008947@svn.freebsd.org> <20130527140722.GA43583@troutmask.apl.washington.edu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20130527140722.GA43583@troutmask.apl.washington.edu> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 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: Mon, 27 May 2013 17:23:30 -0000 On Mon, May 27, 2013, Steve Kargl wrote: > On Mon, May 27, 2013 at 08:50:10AM +0000, David Schultz wrote: > > Author: das > > Date: Mon May 27 08:50:10 2013 > > New Revision: 251024 > > URL: http://svnweb.freebsd.org/changeset/base/251024 > > > > Log: > > Fix some regressions caused by the switch from gcc to clang. The fixes > > are workarounds for various symptoms of the problem described in clang > > bugs 3929, 8100, 8241, 10409, and 12958. > > > > The regression tests did their job: they failed, someone brought it > > up on the mailing lists, and then the issue got ignored for 6 months. > > Oops. There may still be some regressions for functions we don't have > > test coverage for yet. > > > > The combination of clang+regression tests is almost unusable. > > % cd src/tools/regressions/lib/msun > % make |& tee sgk.log > % grep generated sgk.log > 41 warnings generated. > 1 warning generated. > 1 warning generated. > 593 warnings generated. > 51 warnings generated. > 1 warning generated. > 221 warnings generated. > 1 warning generated. > 265 warnings generated. > 84 warnings generated. > 1 warning generated. > 1 warning generated. > 2 warnings generated. > 74 warnings generated. It seems that it's mostly complaining about the macros I use to test many variants of a function in a single call. The macros often say things like: assert(f(x) == y); \ assert(f, fetestexcept(...) == K); \ The goal of the "f, " is to make the failure message include the function that was invoked on the preceding line. The tests really shouldn't be using assert() at all. Starting circa 2002, I wrote them that way in the interests of expedience, since an official unit-testing framework was supposed to replace it anyway. Ten years later, it looks like everyone is still rolling their own! If someone were to write or import a good test framework, get all the tests to use it, and put together a test tinderbox, that would have a lot of impact. > I also find the following patch helpful in cleaning up the corefiles. > > > Index: Makefile > =================================================================== > --- Makefile (revision 251026) > +++ Makefile (working copy) > @@ -12,4 +12,4 @@ > > .PHONY: clean > clean: > - -rm -f ${TESTS} > + -rm -f ${TESTS} *.core Sounds reasonable. Feel free to commit this.