1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-26 07:11:34 -08:00
Commit graph

1501 commits

Author SHA1 Message Date
Gareth Rees
a76ab7ce6b Catch-up merge from master sources to branch/2014-03-25/ansi.
Copied from Perforce
 Change: 185305
 ServerID: perforce.ravenbrook.com
2014-04-07 16:04:58 +01:00
Gareth Rees
a51ebd62ea Add default case to switch statement so that it compiles with gcc -wswitch-default.
Copied from Perforce
 Change: 185293
 ServerID: perforce.ravenbrook.com
2014-04-07 15:35:17 +01:00
Gareth Rees
20136d505d Merge branch/2014-01-15/nailboard into the master sources.
Copied from Perforce
 Change: 185285
 ServerID: perforce.ravenbrook.com
2014-04-07 14:23:18 +01:00
Gareth Rees
b7c3b0ae84 Can't can't checkd_nosig(ring, &arenaring) because &arenaring is never null and gcc will warn about a constant comparison.
Copied from Perforce
 Change: 185279
 ServerID: perforce.ravenbrook.com
2014-04-07 13:22:21 +01:00
Gareth Rees
4e8b76ac54 Catch-up merge from master sources to branch/2014-01-15/nailboard.
Copied from Perforce
 Change: 185275
 ServerID: perforce.ravenbrook.com
2014-04-07 10:38:08 +01:00
Gareth Rees
f2776dc0b4 Can't use checkd_nosig(tree, ...) because treeempty is null.
arena->enabledMessageTypes might be NULL.

Copied from Perforce
 Change: 185271
 ServerID: perforce.ravenbrook.com
2014-04-07 10:14:40 +01:00
Gareth Rees
0f445a4ea4 Remove "todo: checkleveldeep asserts on arena creation with bootstrapping problems." -- this was fixed in change 184924.
Copied from Perforce
 Change: 185267
 ServerID: perforce.ravenbrook.com
2014-04-07 00:29:09 +01:00
Gareth Rees
d3d2795fce Improve control over checking:
1. Where Type is a pointer type with a signature, replace CHECKL(TypeCheck(val)) with CHECKD(Type, val).
2. Where Type is a pointer type with no signature, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val).
3. Where Type is a pointer type with a signature, but the structure is not visible at point of checking, replace CHECKL(TypeCheck(val)) with CHECKD_NOSIG(Type, val). Reference <design/check/#.hidden-type>
4. Make BTCheck extern and use it where possible.
5. Replace AVER(TypeCheck(val)) with AVERT(Type, val).

Copied from Perforce
 Change: 185263
 ServerID: perforce.ravenbrook.com
2014-04-06 22:51:05 +01:00
Gareth Rees
9c54379464 Must check against treeempty, not null.
Copied from Perforce
 Change: 185261
 ServerID: perforce.ravenbrook.com
2014-04-06 21:50:56 +01:00
Gareth Rees
116021aef0 Complete design.mps.type and design.mps.interface-c and move them to "current" design in the manual.
Remove unused enumeration FormatVariety from mpmtypes.
Improve wording of manual entry on MPS_RM_PROT.

Copied from Perforce
 Change: 185259
 ServerID: perforce.ravenbrook.com
2014-04-06 20:00:31 +01:00
Gareth Rees
31154ac728 Avoid calling sizeroundup when the result needs to be a count.
Use PointerAdd instead of casting to (char *) and back again.

Copied from Perforce
 Change: 185256
 ServerID: perforce.ravenbrook.com
2014-04-06 17:35:57 +01:00
Gareth Rees
ee5b6b12b3 Poolarena must be thread-safe, so add a comment.
Copied from Perforce
 Change: 185250
 ServerID: perforce.ravenbrook.com
2014-04-06 16:44:07 +01:00
Gareth Rees
c2383c4ec9 Remove unneeded headers.
Copied from Perforce
 Change: 185248
 ServerID: perforce.ravenbrook.com
2014-04-06 15:53:54 +01:00
Gareth Rees
906209e2d0 Remove todo -- this was done in change 179501.
Copied from Perforce
 Change: 185247
 ServerID: perforce.ravenbrook.com
2014-04-06 15:53:34 +01:00
Gareth Rees
2f9067da36 Event arenablacklistzone was deleted, but event_version_minor was not updated; and the instruction "when you retire an event type, don't delete it from the list -- comment it out" was not followed.
Delete TODO item: EVENT_VERSION numbers are parameters to the EventInit event.

Copied from Perforce
 Change: 185246
 ServerID: perforce.ravenbrook.com
2014-04-06 15:52:56 +01:00
Gareth Rees
a7bc489409 Refactor walkt0 test case so that it can test different pool classes.
Copied from Perforce
 Change: 185244
 ServerID: perforce.ravenbrook.com
2014-04-06 11:47:36 +01:00
Gareth Rees
cd377eb050 Refactor finaltest so that it is capable of testing different pool classes.
Copied from Perforce
 Change: 185235
 ServerID: perforce.ravenbrook.com
2014-04-04 21:59:45 +01:00
Gareth Rees
9bb6b2f8be Tidy-up of attributes and pool classes:
* Bring design up to date.
* New function PoolHasAttr encapsulates attribute checking.
* Abstract classes are abstract and mustn't be checked.
* The dummy pool class in fotest needs a size.
* Abstract pool classes null out methods that they can't provide a generic implementation for, to force subclasses to provide one.
* New function PoolTrivFramePopPending provides a generic implementation of that method.
* Rename PoolNoFreeWalk to PoolTrivFreeWalk since it has NOOP rather than NOTREACHED.
* Check that AttrMOVINGGC implies AttrGC.
* Remove unimplemented attributes (BUF_RESERVE, BUF_ALLOC, INCR_RB, INCR_WB, PM)
* AMC now inherits from AMCZ instead of the other way round. This is simpler: AMC adds features to AMCZ rather than AMCZ taking features away (and not quite getting it right).
* Similarly, LO inherits from AbstractSegBufPoolClass + PoolClassMixInCollect so that it doesn't have to clear AttrSCAN and the scan methods.
* Fix bug in MFSCheck -- mustn't check unroundedUnitSize >= UNIT_MIN since small unit sizes are rounded up to UNIT_MIN.
* Don't see AttrFREE in MRG (since no free method is supplied).
* Check AttrSCAN systematically (in PoolScan and SegCheck) rather than opportunistically in TraceStart and TraceQuantum.

Copied from Perforce
 Change: 185231
 ServerID: perforce.ravenbrook.com
2014-04-04 17:05:08 +01:00
Gareth Rees
673eea41a0 Check classes after defining them.
Copied from Perforce
 Change: 185228
 ServerID: perforce.ravenbrook.com
2014-04-04 12:51:07 +01:00
Gareth Rees
94e3fff083 Turn on -wswitch-default for gcc.
Add missing default: cases to switch statements.

Copied from Perforce
 Change: 185226
 ServerID: perforce.ravenbrook.com
2014-04-04 12:16:59 +01:00
Gareth Rees
6ef4b6e0c6 Explain how to call mps_root_create_table() safely (avoiding type punning). fix example for mps_root_create_table_masked(). use the recommended approach in qs.c.
Copied from Perforce
 Change: 185223
 ServerID: perforce.ravenbrook.com
2014-04-04 11:49:19 +01:00
Gareth Rees
3f07e913b7 Fix airtest to use its own ambiguous root instead of relying on references to disappear from the c stack (which they don't on lii6ll).
Copied from Perforce
 Change: 185218
 ServerID: perforce.ravenbrook.com
2014-04-04 10:30:45 +01:00
Gareth Rees
38eb93c97f Fix the build for the usual configuration (not disabled_shield).
"make test" compiles the CONFIG_POLL_NONE configuration but doesn't run any test cases (not sure which ones are expected to pass yet).

Copied from Perforce
 Change: 185188
 ServerID: perforce.ravenbrook.com
2014-04-02 16:53:46 +01:00
Gareth Rees
43fc65b539 Oops: no need to set the spare commit limit here.
Copied from Perforce
 Change: 185182
 ServerID: perforce.ravenbrook.com
2014-04-02 16:02:09 +01:00
Gareth Rees
84cd92ab89 Improve clarity of product configuration so that names more explicitly indicate what they do:
* CONFIG_POLL_NONE (because the user-visible consequence is that polling is no longer supported; was CONFIG_PROTECTION_NONE).
* DISABLE_LOCKS (was THREAD_SINGLE).
* DISABLE_SHIELD (was THREAD_SINGLE && PROTECTION_NONE)
* DISABLE_REMEMBERED_SET (was PROTECTION_NONE)
When the shield is disabled, ArenaLeave asserts that there are no busy traces, and ArenaPoll is a no-op.
By having functions implemented using the corresponding macro, we can avoid duplicated code, and avoid testing DISABLE_SHIELD in global.c.
Remove all remaining references to MPS_PROD_EPCORE.

Copied from Perforce
 Change: 185176
 ServerID: perforce.ravenbrook.com
2014-04-02 15:48:57 +01:00
Gareth Rees
feaa22a74f Remove unnecessary calls to mps_args_done -- these crept back in via the merge of the cbs-tract-alloc branch.
Copied from Perforce
 Change: 185143
 ServerID: perforce.ravenbrook.com
2014-04-01 22:43:58 +01:00
Gareth Rees
5dc1122db8 Catch-up merge from master sources to branch/2014-01-15/nailboard.
Copied from Perforce
 Change: 185138
 ServerID: perforce.ravenbrook.com
2014-04-01 22:08:45 +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
fe837568b9 Cast pointer to void * for the benefit of gcc.
Copied from Perforce
 Change: 185133
 ServerID: perforce.ravenbrook.com
2014-04-01 21:12:58 +01:00
Gareth Rees
1fc2bbe52b Fixed dl's review comments <https://info.ravenbrook.com/mail/2014/04/01/13-28-17/0/>.
Copied from Perforce
 Change: 185127
 ServerID: perforce.ravenbrook.com
2014-04-01 17:02:00 +01:00
Gareth Rees
4ee6bdd356 Explain why the last level in the nailboard might be tiny (to avoid special cases for small nailboards).
Copied from Perforce
 Change: 185122
 ServerID: perforce.ravenbrook.com
2014-04-01 13:32:42 +01:00
Gareth Rees
3bbde3766b Generate dependencies for fmtscheme.c.
Copied from Perforce
 Change: 185120
 ServerID: perforce.ravenbrook.com
2014-04-01 12:11:06 +01:00
Richard Brooksby
3c543eb1a2 Catch up merge from masters to branch/2014-01-15/nailboard.
Copied from Perforce
 Change: 185118
 ServerID: perforce.ravenbrook.com
2014-04-01 11:43:47 +01:00
Gareth Rees
d190a9221c Fixed rb's review comments <https://info.ravenbrook.com/mail/2014/03/31/15-48-46/0/>
Copied from Perforce
 Change: 185111
 ServerID: perforce.ravenbrook.com
2014-03-31 19:03:32 +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
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
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
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
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
4873e7d49f Merge nailboard size fix. enable zcoll for testci and testall.
Copied from Perforce
 Change: 185060
 ServerID: perforce.ravenbrook.com
2014-03-27 20:31:06 +00:00
Gareth Rees
050a8f0a38 Make nailboards work for sizes that aren't a power of 2.
Copied from Perforce
 Change: 185058
 ServerID: perforce.ravenbrook.com
2014-03-27 20:25:27 +00:00
Gareth Rees
443288ef61 Variable "base" no longer needed for passing to segnext, so remove it.
Copied from Perforce
 Change: 185056
 ServerID: perforce.ravenbrook.com
2014-03-27 17:47:15 +00:00
Gareth Rees
ad72ec24c8 Remove comment from rb "the thread_single and protection_none build configs aren't regularly tested, though they might well be useful for embedded custom targets. should test them." -- this configuration is now tested by "make test" on the linux and freebsd platforms.
Copied from Perforce
 Change: 185054
 ServerID: perforce.ravenbrook.com
2014-03-27 15:57:34 +00:00
Gareth Rees
a2edf546f8 Test case database now notes which test cases use threads.
New test suite "testansi" consists of test cases that run on the generic ("ANSI") platform.
New target "ansi" builds the MPS with the CONFIG_PF_ANSI CONFIG_THREAD_SINGLE and CONFIG_PROTECTION_NONE settings.
Build and test the "ansi" target as part of "make test" for the benefit of the buildbots (just Linux and FreeBSD for the moment).

Copied from Perforce
 Change: 185050
 ServerID: perforce.ravenbrook.com
2014-03-27 15:19:42 +00:00
Gareth Rees
a5d60601fd Share test case database between windows and unix.
Add testci and testall targets on Windows. 

Copied from Perforce
 Change: 185047
 ServerID: perforce.ravenbrook.com
2014-03-27 14:01:16 +00:00