From 11883883a5b9cd7826dfc813a3ec479ead9e4537 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 22 Feb 2006 06:58:11 +0000 Subject: [BZ #315] 2004-08-09 Paul Eggert [BZ #315] * manual/memory.texi (Obstacks Data Alignment): The default alignment is not 4: it is enough to hold any type of data. Problem reported by Benno in . --- manual/memory.texi | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'manual') diff --git a/manual/memory.texi b/manual/memory.texi index 0f28806..91b9d84 100644 --- a/manual/memory.texi +++ b/manual/memory.texi @@ -1968,7 +1968,8 @@ obstack_next_free (@var{obstack-ptr}) - obstack_base (@var{obstack-ptr}) Each obstack has an @dfn{alignment boundary}; each object allocated in the obstack automatically starts on an address that is a multiple of the -specified boundary. By default, this boundary is 4 bytes. +specified boundary. By default, this boundary is aligned so that +the object can hold any type of data. To access an obstack's alignment boundary, use the macro @code{obstack_alignment_mask}, whose function prototype looks like @@ -1980,7 +1981,9 @@ this: The value is a bit mask; a bit that is 1 indicates that the corresponding bit in the address of an object should be 0. The mask value should be one less than a power of 2; the effect is that all object addresses are -multiples of that power of 2. The default value of the mask is 3, so that +multiples of that power of 2. The default value of the mask is a value +that allows aligned objects to hold any type of data: for example, if +its value is 3, any type of data can be stored at locations whose addresses are multiples of 4. A mask value of 0 means an object can start on any multiple of 1 (that is, no alignment is required). -- cgit v1.1