Title | CHECKL is used where CHECKD_NOSIG would give more control |
Status | closed |
Priority | nice |
Assigned user | Richard Brooksby |
Organization | Ravenbrook |
Description | MPS check methods often do CHECKL(FooCheck(foo)) because FooStruct doesn't have a sig. In this case they ought to be using CHECKD_NOSIG(Foo, foo). |
Analysis | Global replace and clean-up. Consider defining a macro along with FooStruct so that the call-sites don't have to know. Also consider whether something similar is needed for AVERT. |
How found | inspection |
Evidence | "Review of mps/branch/2014-02-22/splay-tune" <https://info.ravenbrook.com/mail/2014/03/07/18-03-14/0/ > |
Created by | Richard Brooksby |
Created on | 2014-03-11 12:52:29 |
Last modified by | Gareth Rees |
Last modified on | 2014-04-06 22:51:21 |
History | 2014-03-11 RB Created. |
Change | Effect | Date | User | Description |
---|---|---|---|---|
185263 | closed | 2014-04-06 22:51:05 | Gareth Rees | 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). |