({ struct obstack *__o = (OBSTACK); \
((__o->next_free + sizeof (void *) > __o->chunk_limit) \
? _obstack_newchunk (__o, sizeof (void *)) : 0), \
- *((void **)__o->next_free)++ = ((void *)datum); \
+ *((void **)__o->next_free) = ((void *)datum); \
+ __o->next_free += (sizeof (void *)); \
(void) 0; })
#define obstack_int_grow(OBSTACK,datum) \
({ struct obstack *__o = (OBSTACK); \
((__o->next_free + sizeof (int) > __o->chunk_limit) \
? _obstack_newchunk (__o, sizeof (int)) : 0), \
- *((int *)__o->next_free)++ = ((int)datum); \
+ *((int *)__o->next_free) = ((int)datum); \
+ __o->next_free += (sizeof (int)); \
(void) 0; })
-#define obstack_ptr_grow_fast(h,aptr) (*((void **)(h)->next_free)++ = (void *)aptr)
-#define obstack_int_grow_fast(h,aint) (*((int *)(h)->next_free)++ = (int)aint)
+#define obstack_ptr_grow_fast(h,aptr) \
+(*((void **)(h)->next_free) = (void *)aptr, \
+ (h)->next_free += (sizeof (void *)))
+
+#define obstack_int_grow_fast(h,aint) \
+(*((int *)(h)->next_free) = (int)aint, \
+ (h)->next_free += (sizeof (int)))
#define obstack_blank(OBSTACK,length) \
({ struct obstack *__o = (OBSTACK); \