MPS issue job003714

TitleArenaRootsWalk does not check the result of TraceAddWhite
Statusclosed
Prioritynice
Assigned userGareth Rees
OrganizationRavenbrook
DescriptionArenaRootsWalk in arena.c [1] calls TraceAddWhite, but does not check the result. TraceAddWhite can fail if PoolWhiten fails.
AnalysisIn practice, AMCWhiten, AWLWhiten, and LOWhiten always succeed. So the only way this could fail is if this was called on a pool that doesn't support whitening. (But wouldn't that be a programming error and so more appropriate for AVER instead of Res?)
How foundautomated_test
Evidence[1] <https://info.ravenbrook.com/project/mps/master/code/walk.c#line-311>
Created byGareth Rees
Created on2014-03-24 16:56:31
Last modified byGareth Rees
Last modified on2014-04-13 18:08:51
History2014-03-24 GDR Created.

Fixes

Change Effect Date User Description
184977 closed 2014-03-24 18:23:29 Gareth Rees 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").