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. _______________________________________________ svn-src-head@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-head To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"