mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-21 03:52:16 -08:00
Mps: feedback branch: merge source-only corrections from master:
PARENT macro comment; TractArena macro. No run-time effect. Copied from Perforce Change: 160624 ServerID: perforce.ravenbrook.com
This commit is contained in:
commit
f1b8a622df
2 changed files with 4 additions and 3 deletions
|
|
@ -137,13 +137,14 @@ typedef const struct SrcIdStruct {
|
|||
/* PARENT -- parent structure
|
||||
*
|
||||
* Given a pointer to a field of a structure this returns a pointer to
|
||||
* the main structure. PARENT(foo_t, x, foo->x) == foo.
|
||||
* the main structure. PARENT(foo_t, x, &(foo->x)) == foo.
|
||||
*
|
||||
* This macro is thread-safe, see design.mps.misc.parent.thread-safe.
|
||||
*
|
||||
* That intermediate (void *) is required to stop some compilers complaining
|
||||
* about alignment of 'type *' being greater than that of 'char *'. Which
|
||||
* is true, but not a bug, since p really is a pointer into a 'type' struct.
|
||||
* is true, but not a bug, since the result really is a pointer to a 'type'
|
||||
* struct.
|
||||
*/
|
||||
|
||||
#define PARENT(type, field, p) \
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ static void ChunkDecache(Arena arena, Chunk chunk);
|
|||
|
||||
/* TractArena -- get the arena of a tract */
|
||||
|
||||
#define TractArena(seg) PoolArena(TractPool(tract))
|
||||
#define TractArena(tract) PoolArena(TractPool(tract))
|
||||
|
||||
|
||||
/* TractCheck -- check the integrity of a tract */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue