Gareth Rees
b409ae89f6
Turn freelist into a land class.
...
Copied from Perforce
Change: 185155
ServerID: perforce.ravenbrook.com
2014-04-02 14:01:18 +01:00
Gareth Rees
5314260bc8
Avoid type puns.
...
Copied from Perforce
Change: 185151
ServerID: perforce.ravenbrook.com
2014-04-02 12:16:38 +01:00
Gareth Rees
1d8238419a
Landiargs -> liargs for terseness and consistency.
...
Copied from Perforce
Change: 185147
ServerID: perforce.ravenbrook.com
2014-04-01 23:39:03 +01:00
Gareth Rees
6beb2ed5f2
First draft of land design.
...
Copied from Perforce
Change: 185146
ServerID: perforce.ravenbrook.com
2014-04-01 23:35:23 +01:00
Gareth Rees
651c2b9df0
Catch-up merge from master sources to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185139
ServerID: perforce.ravenbrook.com
2014-04-01 22:09:50 +01:00
Gareth Rees
a29c01d416
Clang can compile eventsql.c with -pedantic but gcc cannot.
...
Copied from Perforce
Change: 185137
ServerID: perforce.ravenbrook.com
2014-04-01 22:07:48 +01:00
Gareth Rees
a929adf067
Add land.c to list of modules, and missing header range.h.
...
Copied from Perforce
Change: 185134
ServerID: perforce.ravenbrook.com
2014-04-01 21:26:07 +01:00
Gareth Rees
d2cbfda452
First pass at implementation of lands (collections of address ranges). 100% boilerplate!
...
Copied from Perforce
Change: 185131
ServerID: perforce.ravenbrook.com
2014-04-01 19:51:55 +01:00
Gareth Rees
9ec2dfb001
Fix typo: "if exists" should be "if exist".
...
Copied from Perforce
Change: 185108
ServerID: perforce.ravenbrook.com
2014-03-31 16:58:05 +01:00
Gareth Rees
9a523d0ccb
Fix compilation on lii6gc:
...
* Don't test __has_feature unless we know we are on MPS_BUILD_LL.
* Fix type-punned pointer aliasing in expt825.c.
Copied from Perforce
Change: 185104
ServerID: perforce.ravenbrook.com
2014-03-31 13:01:40 +01:00
Gareth Rees
5edd5c5ef8
Bring .p4ignore up to date so that p4 status is clean.
...
Copied from Perforce
Change: 185101
ServerID: perforce.ravenbrook.com
2014-03-31 11:37:46 +01:00
Gareth Rees
b2ec897e6b
Support the clang address sanitizer.
...
Copied from Perforce
Change: 185096
ServerID: perforce.ravenbrook.com
2014-03-30 18:51:53 +01:00
Gareth Rees
f3c8926e04
Branching master to branch/2014-03-30/addrset.
...
Copied from Perforce
Change: 185093
ServerID: perforce.ravenbrook.com
2014-03-30 18:10:33 +01:00
Gareth Rees
d92687e063
Turn off -wunreachable-code in gcc: too many false positives.
...
Copied from Perforce
Change: 185091
ServerID: perforce.ravenbrook.com
2014-03-30 17:00:50 +01:00
Gareth Rees
f025b00534
Turn on -wunreachable-code for gcc and clang.
...
Remove unreachable code:
* No need to have different debug options or structured allocation classes for different platforms.
* Don't use STATISTIC_BEGIN, use STATISTIC_STAT.
* #ifdef away the unused code in zmess.c for testing ControlAlloc failure.
* Remove unused code from the example Scheme interpreter.
Copied from Perforce
Change: 185089
ServerID: perforce.ravenbrook.com
2014-03-30 14:26:02 +01:00
Gareth Rees
608720178b
Fix header comment for ssw3i6*.c -- win64 not win32.
...
Copied from Perforce
Change: 185086
ServerID: perforce.ravenbrook.com
2014-03-29 17:24:28 +00:00
Gareth Rees
9ef6788399
Avoid spurious output from rmdir.
...
Copied from Perforce
Change: 185078
ServerID: perforce.ravenbrook.com
2014-03-28 14:27:44 +00:00
Gareth Rees
56149eaf27
Preserve the first table entry, so as to avoid false positives when this is kept alive by a register or stack-local variable.
...
Copied from Perforce
Change: 185077
ServerID: perforce.ravenbrook.com
2014-03-28 14:27:21 +00:00
Gareth Rees
b209567f7b
Merge branch/2014-03-21/pellesc into the master sources.
...
Copied from Perforce
Change: 185075
ServerID: perforce.ravenbrook.com
2014-03-28 14:00:40 +00:00
Gareth Rees
d934afafc5
Catch-up merge from master sources to branch/2014-03-21/pellesc.
...
Copied from Perforce
Change: 185074
ServerID: perforce.ravenbrook.com
2014-03-28 13:54:30 +00:00
Gareth Rees
68edf84c3b
Remove #pragma warning(disable: ...) for microsoft visual c/c++ warnings that are no longer generated by the code, so that we get the maximum checking from this compiler.
...
Copied from Perforce
Change: 185072
ServerID: perforce.ravenbrook.com
2014-03-28 13:09:14 +00:00
Gareth Rees
d04344de11
Explicit instructions for users compiling for 64-bit windows.
...
Copied from Perforce
Change: 185070
ServerID: perforce.ravenbrook.com
2014-03-28 12:59:38 +00:00
Gareth Rees
1572cacd63
Avoid spurious output from rmdir when running "nmake clean".
...
Copied from Perforce
Change: 185069
ServerID: perforce.ravenbrook.com
2014-03-28 12:45:11 +00:00
Gareth Rees
fe68bfac83
Avoid expanding __file__ in aver in pelles c -- the compiler somehow loses its definition for __file__ in deeply nested macro expansions.
...
Copied from Perforce
Change: 185025
ServerID: perforce.ravenbrook.com
2014-03-26 13:44:02 +00:00
Gareth Rees
9aef4157fd
Fix review comments from dl < https://info.ravenbrook.com/mail/2014/03/25/17-44-56/0/ >.
...
Add __attribute__((__format__(printf))) to functions that take a printf-compatible format string (when building using GCC or Clang), so that format string mistakes can be detected statically.
Copied from Perforce
Change: 185021
ServerID: perforce.ravenbrook.com
2014-03-26 12:27:35 +00:00
Gareth Rees
028ec084ff
Fix case of mps_os_w3, spotted by rb.
...
Copied from Perforce
Change: 185013
ServerID: perforce.ravenbrook.com
2014-03-25 15:37:27 +00:00
Gareth Rees
3340bd2bf6
Uncomment event_list calls.
...
Copied from Perforce
Change: 185011
ServerID: perforce.ravenbrook.com
2014-03-25 15:12:33 +00:00
Gareth Rees
629278c469
Fixedsize function needs to take a size_t as argument.
...
Copied from Perforce
Change: 184999
ServerID: perforce.ravenbrook.com
2014-03-25 11:08:06 +00:00
Gareth Rees
d799a993a2
Support for stackprobe on w3i3pc and w3i6pc.
...
Copied from Perforce
Change: 184998
ServerID: perforce.ravenbrook.com
2014-03-25 11:05:09 +00:00
Gareth Rees
00ee0bfcc5
64-bit support for pelles c:
...
* New nmake file w3i6pc.nmk.
* New stack scanner ssw3i6pc.c supplies missing jump buffer definition.
* Some platform tests change from defined(MPS_PF_W3I6MV) to defined(MPS_OS_w3) && defined(MPS_ARCH_I6).
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** Ensure that printf formats are consistent with arguments by using PRIuLONGEST and casting to ulongest_t.
** Use size_t for loop variables that index into arrays.
** Suppress "Consider changing type to 'size_t' for loop variable" warnings for the MPS core.
Copied from Perforce
Change: 184996
ServerID: perforce.ravenbrook.com
2014-03-25 10:59:09 +00:00
Gareth Rees
f0bf4bc99f
New makefile xci6ll.gmk provides way to compile the mps one file at a time on os x.
...
Copied from Perforce
Change: 184991
ServerID: perforce.ravenbrook.com
2014-03-24 21:27:35 +00:00
Gareth Rees
5bbe70609f
Support for "make -f platform.gmk testrun".
...
Copied from Perforce
Change: 184990
ServerID: perforce.ravenbrook.com
2014-03-24 21:26:42 +00:00
Gareth Rees
4efa0dd942
Update manual to record the platform code pelles c (and also note that we don't support it).
...
Copied from Perforce
Change: 184986
ServerID: perforce.ravenbrook.com
2014-03-24 20:56:06 +00:00
Gareth Rees
afe3e238a0
Catch-up merge from master sources to branch/2014-03-21/pellesc.
...
Copied from Perforce
Change: 184985
ServerID: perforce.ravenbrook.com
2014-03-24 20:43:49 +00:00
Gareth Rees
23446b9efe
Update file types: add +k (keyword expansion).
...
Copied from Perforce
Change: 184984
ServerID: perforce.ravenbrook.com
2014-03-24 20:36:57 +00:00
Gareth Rees
ff331d736e
Update file types: add +k (keyword expansion).
...
Copied from Perforce
Change: 184983
ServerID: perforce.ravenbrook.com
2014-03-24 20:35:01 +00:00
Gareth Rees
a7c94b0845
Need to include <stdlib.h> for malloc and _alloca.
...
Copied from Perforce
Change: 184980
ServerID: perforce.ravenbrook.com
2014-03-24 18:53:23 +00:00
Gareth Rees
981dcb36e3
Ensure that windows.h is only included via mpswin.h, so that we always have the same set of definitions and pragmas in effect.
...
Turn on WIN32_LEAN_AND_MEAN when including windows.h to improve compilation time.
Copied from Perforce
Change: 184979
ServerID: perforce.ravenbrook.com
2014-03-24 18:49:22 +00:00
Gareth Rees
9d5266c0cc
Improved support for pelles c:
...
* Refactor nmake files so that a compiler-specific makefile is included; move Microsoft Visual C-specific options to mv.nmk.
* Add nmake files for Pelles (w3i3pc.nmk and pc.nmk).
* Rename spw3i3mv.c to spw3i3.c and spw3i6mv.c to spw3i6.c since these are also used by Pelles C.
* Make reasonable changes to the source code to avoid warnings from Pelles C:
** check results of function calls;
** avoid useless return values;
** undef max before defining it;
** ensure printf formats are checkable;
** move notreached() assertions to the end of blocks;
** suppress warnings in cases where the code shouldn't be changed ("Unreachable code", "Inline assembly code is not portable", "Structured Exception Handling is not portable").
Copied from Perforce
Change: 184977
ServerID: perforce.ravenbrook.com
2014-03-24 18:23:29 +00:00
Gareth Rees
6d76fdd813
Catch-up merge from master sources to branch/2014-03-21/pellesc.
...
Copied from Perforce
Change: 184973
ServerID: perforce.ravenbrook.com
2014-03-24 12:20:49 +00:00
Gareth Rees
f81d124529
Replace hex constant 9024eac8 (gotneach) with 4026eac8 (notreach).
...
Copied from Perforce
Change: 184972
ServerID: perforce.ravenbrook.com
2014-03-24 12:13:20 +00:00
Gareth Rees
70a45934ac
Don't list the test cases to be run in commpre.nmk: list them instead in testrun.bat for consistency with other platforms.
...
Format lists of files and test cases with one per line so that merges are easier.
Improve testrun.bat: better success/failure output; fewer gotos.
Copied from Perforce
Change: 184971
ServerID: perforce.ravenbrook.com
2014-03-24 12:12:24 +00:00
Gareth Rees
cf0d96dd0b
Ensure that all test cases call testlib_init so that the testlib assertion handler is installed: this ensures that on windows you can set mps_testlib_noabort to avoid the dialog box from abort().
...
Copied from Perforce
Change: 184965
ServerID: perforce.ravenbrook.com
2014-03-24 11:41:01 +00:00
Gareth Rees
29b0fa91d2
Better to use /bin/sh and not have such fancy syntax.
...
Copied from Perforce
Change: 184960
ServerID: perforce.ravenbrook.com
2014-03-22 18:25:33 +00:00
Gareth Rees
b7da6941d8
Testrun.sh needs to be run by bash in order to use a list.
...
Copied from Perforce
Change: 184959
ServerID: perforce.ravenbrook.com
2014-03-22 18:15:06 +00:00
Gareth Rees
ff8a0c71d9
Don't list the test cases to be run in the xcode project: list them in testrun.sh instead so that this is shared with the freebsd and linux platforms.
...
Format the list with one test case per line so that merges are easier.
Copied from Perforce
Change: 184958
ServerID: perforce.ravenbrook.com
2014-03-22 18:04:56 +00:00
Gareth Rees
278ef695ec
Fix links.
...
Copied from Perforce
Change: 184956
ServerID: perforce.ravenbrook.com
2014-03-22 16:18:29 +00:00
Gareth Rees
a3b66086ed
Update tool index.
...
Copied from Perforce
Change: 184955
ServerID: perforce.ravenbrook.com
2014-03-22 16:17:09 +00:00
Gareth Rees
831c86c47b
(very) draft makefile for pelles c.
...
Copied from Perforce
Change: 184949
ServerID: perforce.ravenbrook.com
2014-03-21 18:29:36 +00:00
Gareth Rees
4ef183e62a
Mps compiles and runs using pelles c.
...
Merge code from Bruce Mitchener <https://github.com/Ravenbrook/mps-temporary/pull/2 > and from RB <https://github.com/waywardmonkeys/mps-temporary/pull/1/files >.
Split call to EVENT_LIST so that event.c compiles.
Remove useless call to va_end in seg.c.
Copied from Perforce
Change: 184948
ServerID: perforce.ravenbrook.com
2014-03-21 18:28:39 +00:00