1. "make test" now reports the name of the test case before running it, so that when you look back through the test output you can see which test case failed.
2. "make test" now collects the standard output from all the tests to a log file in /tmp, so that this does not clutter the user's terminal, and so that nothing is lost if the output exceeds the terminal's scrollback.
3. Each test case now prints a success message ("Conclusion: Failed to find any defects.") to standard output (not standard error) so that these messages do not clutter up the terminal when running "make test".
4. Each test case now uses its result code (not the printed message) to indicate whether it succeeded or failed.
5. More of the diagnostic messages from the test cases now start by printing argv[0] so that it is easier to tell which test case was running.
Copied from Perforce
Change: 181071
ServerID: perforce.ravenbrook.com
Now that we're recommending inlining with client code and optimising with -O2 or -O3, we can't afford any bug introduced by the strict aliasing rule.
Copied from Perforce
Change: 179322
ServerID: perforce.ravenbrook.com
1. amsss.c: initialize ambigRoot (uninitialized warning);
2. commpost.nmk:
2a. drop long-vanished protcv.exe;
2b. mpmss.exe needs MVFF;
2c. locusss.exe had no build rule;
3. finaltest.c: main does not use argc,v so declare as main(void);
4. lockutw3.c: add parens to avoid operator-precedence warning;
5. protocol.h: s/interface/interfaceIn: suspected compiler bug.
Copied from Perforce
Change: 158054
ServerID: perforce.ravenbrook.com