* Fix typo in argerr/41.c.
* Delete argerr/43.c and argerr/44.c: MVFF doesn't take a maximum size argument so we can't test for erroneous values of this argument.
* Fix assertion condition in conerr/59.c.
* In function/136.c, need to specify extend-by for second pool, now that it's an MVFF pool.
* function/224.c now passes (fragmentation is avoided because MVFF allocations can cross extent boundaries).
Copied from Perforce
Change: 194712
* -i option (MPS_INCLUDE_DIR) now defaults to the code directory relative to the test harness location.
* -p option (PLATFORM) is now a six-character platform code for consistency with the rest of the MPS.
* New -v option (VARIETY) for specifying cool/hot/rash.
* -l option (MPS_LINK_OBJ) now defaults to the appropriate object file for the platform and variety.
* The object file is built automatically.
* If $Id$ of a test file is longer than 70 characters, cut characters out of the middle rather than off the end.
* Eliminate obsolete option -prod (MPS_PRODUCT).
* Support for FreeBSD.
Copied from Perforce
Change: 192285
ServerID: perforce.ravenbrook.com
1. On w3i6mv, int and long are 32 bits, so these types can't be used to hold a size_t or an mps_word_t. See 26.c, 38.c, 47.c, 66.c, 123.c, 136.c, 164.c, 165.c, 200.c, 203.c, 204.c, 205.c, 206.c, 207.c, 215.c, 223.c.
2. The Windows command line doesn't cope with parentheses. See 170.c.
3. The natural platform alignment is 16 bytes on w3i6mv, so allocations into pools using the default alignment need to be rounded up. See 21.c, 22.c, 203.c, 204.c, 205.c.
4. Microsoft Visual C/C++ is fussy about signed/unsigned comparison. See 226.c.
5. windows.h defines a SIZE macro so you can't use it as a parameter. See 232.c.
Copied from Perforce
Change: 191569
ServerID: perforce.ravenbrook.com
1. Document how to run it on Windows from a Cygwin shell.
2. Ignore trailing spaces when analyzing test output.
3. Use the directory separator "/" since we're running under Cygwin.
4. No need for cat.exe, strings.exe, or tee.exe (these are supplied by Cygwin).
5. Microsoft Visual C/C++ needs /D_CRT_SECURE_NO_WARNINGS to avoid a warning about scanf.
6. The Microsoft Visual C/C++ linker no longer takes the options /debugtype:both or /debug:full. Replace with /debug.
7. Remove /pdb:none option (we want the PDB so that we can debug the result).
8. windows.h defines an UNALIGNED macro, so need to #undef it.
9. The long int type is 32 bits on 64-bit Windows, so we need size_t instead.
10. The values in the LPEXCEPTION_RECORD structure have type ULONG_PTR.
11. Test cases are expecting access violations to report abort=true, but on Windows they are caught by the exception handler, so report abort=true in this case.
12. mpsw3.h has gone, but we do need mpswin.h.
Fix some of the test cases:
1. Avoid compiler warning about overflowed multiplication in argerr/153.c.
2. In conerr/2.c, conerr/8.c and conerr/13.c, malloc enough space so that the signature check doesn't cause an access violation.
3. In conerr/25.c, allocate an object whose size is aligned to the platform alignment, which is 16 bytes on w3i6mv.
4. In connerr/18.c, conerr/53.c and conerr/54.c, update the location and text of the expected assertions.
Copied from Perforce
Change: 191564
ServerID: perforce.ravenbrook.com