bug-gnulib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH 1/2] obstack: Coding style fixes


From: Will Newton
Subject: [PATCH 1/2] obstack: Coding style fixes
Date: Thu, 27 Mar 2014 17:24:17 +0000

Fix up coding style to comply better with the GNU coding style. This
should help with merging the obstack code back into glibc.

* lib/obstack.c: Coding style fixes.
---
 lib/obstack.c |  33 ++--
 lib/obstack.h | 526 +++++++++++++++++++++++++++++-----------------------------
 2 files changed, 278 insertions(+), 281 deletions(-)

diff --git a/lib/obstack.c b/lib/obstack.c
index 9cd356c..fb17e95 100644
--- a/lib/obstack.c
+++ b/lib/obstack.c
@@ -115,16 +115,16 @@ compat_symbol (libc, _obstack_compat, _obstack, 
GLIBC_2_0);
    For free, do not use ?:, since some compilers, like the MIPS compilers,
    do not allow (expr) ? void : void.  */
 
-# define CALL_CHUNKFUN(h, size) \
-  (((h) -> use_extra_arg) \
-   ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \
+# define CALL_CHUNKFUN(h, size)                        \
+  (((h)->use_extra_arg)                                \
+   ? (*(h)->chunkfun) ((h)->extra_arg, (size))                         \
    : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size)))
 
-# define CALL_FREEFUN(h, old_chunk) \
-  do { \
-    if ((h) -> use_extra_arg) \
+# define CALL_FREEFUN(h, old_chunk)            \
+  do {                                         \
+    if ((h)->use_extra_arg)                         \
       (*(h)->freefun) ((h)->extra_arg, (old_chunk)); \
-    else \
+    else                                                \
       (*(void (*) (void *)) (h)->freefun) ((old_chunk)); \
   } while (0)
 
@@ -138,8 +138,7 @@ compat_symbol (libc, _obstack_compat, _obstack, GLIBC_2_0);
    allocation fails.  */
 
 int
-_obstack_begin (struct obstack *h,
-                int size, int alignment,
+_obstack_begin (struct obstack *h, int size, int alignment,
                 void *(*chunkfun) (long),
                 void (*freefun) (void *))
 {
@@ -170,13 +169,12 @@ _obstack_begin (struct obstack *h,
   h->alignment_mask = alignment - 1;
   h->use_extra_arg = 0;
 
-  chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
+  chunk = h->chunk = CALL_CHUNKFUN (h, h->chunk_size);
   if (!chunk)
     (*obstack_alloc_failed_handler) ();
   h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
                                                alignment - 1);
-  h->chunk_limit = chunk->limit
-    = (char *) chunk + h->chunk_size;
+  h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size;
   chunk->prev = 0;
   /* The initial chunk now contains no empty object.  */
   h->maybe_empty_object = 0;
@@ -218,13 +216,12 @@ _obstack_begin_1 (struct obstack *h, int size, int 
alignment,
   h->extra_arg = arg;
   h->use_extra_arg = 1;
 
-  chunk = h->chunk = CALL_CHUNKFUN (h, h -> chunk_size);
+  chunk = h->chunk = CALL_CHUNKFUN (h, h->chunk_size);
   if (!chunk)
     (*obstack_alloc_failed_handler) ();
   h->next_free = h->object_base = __PTR_ALIGN ((char *) chunk, chunk->contents,
                                                alignment - 1);
-  h->chunk_limit = chunk->limit
-    = (char *) chunk + h->chunk_size;
+  h->chunk_limit = chunk->limit = (char *) chunk + h->chunk_size;
   chunk->prev = 0;
   /* The initial chunk now contains no empty object.  */
   h->maybe_empty_object = 0;
@@ -273,8 +270,8 @@ _obstack_newchunk (struct obstack *h, int length)
     {
       for (i = obj_size / sizeof (COPYING_UNIT) - 1;
            i >= 0; i--)
-        ((COPYING_UNIT *)object_base)[i]
-          = ((COPYING_UNIT *)h->object_base)[i];
+        ((COPYING_UNIT *) object_base)[i]
+          = ((COPYING_UNIT *) h->object_base)[i];
       /* We used to copy the odd few remaining bytes as one extra COPYING_UNIT,
          but that can cross a page boundary on a machine
          which does not do strict alignment for COPYING_UNITS.  */
@@ -289,7 +286,7 @@ _obstack_newchunk (struct obstack *h, int length)
   /* If the object just copied was the only data in OLD_CHUNK,
      free that chunk and remove it from the chain.
      But not if that chunk might contain an empty object.  */
-  if (! h->maybe_empty_object
+  if (!h->maybe_empty_object
       && (h->object_base
           == __PTR_ALIGN ((char *) old_chunk, old_chunk->contents,
                           h->alignment_mask)))
diff --git a/lib/obstack.h b/lib/obstack.h
index 03e68cb..0fbc3b6 100644
--- a/lib/obstack.h
+++ b/lib/obstack.h
@@ -18,73 +18,73 @@
 
 /* Summary:
 
-All the apparent functions defined here are macros. The idea
-is that you would use these pre-tested macros to solve a
-very specific set of problems, and they would run fast.
-Caution: no side-effects in arguments please!! They may be
-evaluated MANY times!!
-
-These macros operate a stack of objects.  Each object starts life
-small, and may grow to maturity.  (Consider building a word syllable
-by syllable.)  An object can move while it is growing.  Once it has
-been "finished" it never changes address again.  So the "top of the
-stack" is typically an immature growing object, while the rest of the
-stack is of mature, fixed size and fixed address objects.
-
-These routines grab large chunks of memory, using a function you
-supply, called 'obstack_chunk_alloc'.  On occasion, they free chunks,
-by calling 'obstack_chunk_free'.  You must define them and declare
-them before using any obstack macros.
-
-Each independent stack is represented by a 'struct obstack'.
-Each of the obstack macros expects a pointer to such a structure
-as the first argument.
-
-One motivation for this package is the problem of growing char strings
-in symbol tables.  Unless you are "fascist pig with a read-only mind"
---Gosper's immortal quote from HAKMEM item 154, out of context--you
-would not like to put any arbitrary upper limit on the length of your
-symbols.
-
-In practice this often means you will build many short symbols and a
-few long symbols.  At the time you are reading a symbol you don't know
-how long it is.  One traditional method is to read a symbol into a
-buffer, realloc()ating the buffer every time you try to read a symbol
-that is longer than the buffer.  This is beaut, but you still will
-want to copy the symbol from the buffer to a more permanent
-symbol-table entry say about half the time.
-
-With obstacks, you can work differently.  Use one obstack for all symbol
-names.  As you read a symbol, grow the name in the obstack gradually.
-When the name is complete, finalize it.  Then, if the symbol exists already,
-free the newly read name.
-
-The way we do this is to take a large chunk, allocating memory from
-low addresses.  When you want to build a symbol in the chunk you just
-add chars above the current "high water mark" in the chunk.  When you
-have finished adding chars, because you got to the end of the symbol,
-you know how long the chars are, and you can create a new object.
-Mostly the chars will not burst over the highest address of the chunk,
-because you would typically expect a chunk to be (say) 100 times as
-long as an average object.
-
-In case that isn't clear, when we have enough chars to make up
-the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
-so we just point to it where it lies.  No moving of chars is
-needed and this is the second win: potentially long strings need
-never be explicitly shuffled. Once an object is formed, it does not
-change its address during its lifetime.
-
-When the chars burst over a chunk boundary, we allocate a larger
-chunk, and then copy the partly formed object from the end of the old
-chunk to the beginning of the new larger chunk.  We then carry on
-accreting characters to the end of the object as we normally would.
-
-A special macro is provided to add a single char at a time to a
-growing object.  This allows the use of register variables, which
-break the ordinary 'growth' macro.
-
-Summary:
+   All the apparent functions defined here are macros. The idea
+   is that you would use these pre-tested macros to solve a
+   very specific set of problems, and they would run fast.
+   Caution: no side-effects in arguments please!! They may be
+   evaluated MANY times!!
+
+   These macros operate a stack of objects.  Each object starts life
+   small, and may grow to maturity.  (Consider building a word syllable
+   by syllable.)  An object can move while it is growing.  Once it has
+   been "finished" it never changes address again.  So the "top of the
+   stack" is typically an immature growing object, while the rest of the
+   stack is of mature, fixed size and fixed address objects.
+
+   These routines grab large chunks of memory, using a function you
+   supply, called 'obstack_chunk_alloc'.  On occasion, they free chunks,
+   by calling 'obstack_chunk_free'.  You must define them and declare
+   them before using any obstack macros.
+
+   Each independent stack is represented by a 'struct obstack'.
+   Each of the obstack macros expects a pointer to such a structure
+   as the first argument.
+
+   One motivation for this package is the problem of growing char strings
+   in symbol tables.  Unless you are "fascist pig with a read-only mind"
+   --Gosper's immortal quote from HAKMEM item 154, out of context--you
+   would not like to put any arbitrary upper limit on the length of your
+   symbols.
+
+   In practice this often means you will build many short symbols and a
+   few long symbols.  At the time you are reading a symbol you don't know
+   how long it is.  One traditional method is to read a symbol into a
+   buffer, realloc()ating the buffer every time you try to read a symbol
+   that is longer than the buffer.  This is beaut, but you still will
+   want to copy the symbol from the buffer to a more permanent
+   symbol-table entry say about half the time.
+
+   With obstacks, you can work differently.  Use one obstack for all symbol
+   names.  As you read a symbol, grow the name in the obstack gradually.
+   When the name is complete, finalize it.  Then, if the symbol exists already,
+   free the newly read name.
+
+   The way we do this is to take a large chunk, allocating memory from
+   low addresses.  When you want to build a symbol in the chunk you just
+   add chars above the current "high water mark" in the chunk.  When you
+   have finished adding chars, because you got to the end of the symbol,
+   you know how long the chars are, and you can create a new object.
+   Mostly the chars will not burst over the highest address of the chunk,
+   because you would typically expect a chunk to be (say) 100 times as
+   long as an average object.
+
+   In case that isn't clear, when we have enough chars to make up
+   the object, THEY ARE ALREADY CONTIGUOUS IN THE CHUNK (guaranteed)
+   so we just point to it where it lies.  No moving of chars is
+   needed and this is the second win: potentially long strings need
+   never be explicitly shuffled. Once an object is formed, it does not
+   change its address during its lifetime.
+
+   When the chars burst over a chunk boundary, we allocate a larger
+   chunk, and then copy the partly formed object from the end of the old
+   chunk to the beginning of the new larger chunk.  We then carry on
+   accreting characters to the end of the object as we normally would.
+
+   A special macro is provided to add a single char at a time to a
+   growing object.  This allows the use of register variables, which
+   break the ordinary 'growth' macro.
+
+   Summary:
         We allocate large chunks.
         We carve out one object at a time from the current chunk.
         Once carved, an object never moves.
@@ -232,7 +232,7 @@ extern int obstack_exit_failure;
                   (void (*) (void *)) obstack_chunk_free)
 
 #define obstack_specify_allocation(h, size, alignment, chunkfun, freefun)  \
-  _obstack_begin ((h), (size), (alignment),                                \
+  _obstack_begin ((h), (size), (alignment),                            \
                   (void *(*) (long)) (chunkfun),                           \
                   (void (*) (void *)) (freefun))
 
@@ -242,14 +242,14 @@ extern int obstack_exit_failure;
                     (void (*) (void *, void *)) (freefun), (arg))
 
 #define obstack_chunkfun(h, newchunkfun) \
-  ((h) -> chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun))
+  ((h)->chunkfun = (struct _obstack_chunk *(*)(void *, long)) (newchunkfun))
 
 #define obstack_freefun(h, newfreefun) \
-  ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun))
+  ((h)->freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun))
 
-#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar))
+#define obstack_1grow_fast(h, achar) (*((h)->next_free)++ = (achar))
 
-#define obstack_blank_fast(h,n) ((h)->next_free += (n))
+#define obstack_blank_fast(h, n) ((h)->next_free += (n))
 
 #define obstack_memory_used(h) _obstack_memory_used (h)
 
@@ -262,157 +262,157 @@ extern int obstack_exit_failure;
 # define obstack_object_size(OBSTACK)                                   \
   __extension__                                                         \
   ({ struct obstack const *__o = (OBSTACK);                             \
-     (unsigned) (__o->next_free - __o->object_base); })
+    (unsigned) (__o->next_free - __o->object_base); })
 
 # define obstack_room(OBSTACK)                                          \
   __extension__                                                         \
   ({ struct obstack const *__o = (OBSTACK);                             \
-     (unsigned) (__o->chunk_limit - __o->next_free); })
+    (unsigned) (__o->chunk_limit - __o->next_free); })
 
-# define obstack_make_room(OBSTACK,length)                              \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->chunk_limit - __o->next_free < __len)                       \
-     _obstack_newchunk (__o, __len);                                    \
-   (void) 0; })
+# define obstack_make_room(OBSTACK, length)                            \
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    int __len = (length);                                              \
+    if (__o->chunk_limit - __o->next_free < __len)                     \
+      _obstack_newchunk (__o, __len);                                  \
+    (void) 0; })
 
 # define obstack_empty_p(OBSTACK)                                       \
   __extension__                                                         \
   ({ struct obstack const *__o = (OBSTACK);                             \
-     (__o->chunk->prev == 0                                             \
-      && __o->next_free == __PTR_ALIGN ((char *) __o->chunk,            \
-                                        __o->chunk->contents,           \
-                                        __o->alignment_mask)); })
-
-# define obstack_grow(OBSTACK,where,length)                             \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->next_free + __len > __o->chunk_limit)                       \
-     _obstack_newchunk (__o, __len);                                    \
-   memcpy (__o->next_free, where, __len);                               \
-   __o->next_free += __len;                                             \
-   (void) 0; })
-
-# define obstack_grow0(OBSTACK,where,length)                            \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->next_free + __len + 1 > __o->chunk_limit)                   \
-     _obstack_newchunk (__o, __len + 1);                                \
-   memcpy (__o->next_free, where, __len);                               \
-   __o->next_free += __len;                                             \
-   *(__o->next_free)++ = 0;                                             \
-   (void) 0; })
-
-# define obstack_1grow(OBSTACK,datum)                                   \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   if (__o->next_free + 1 > __o->chunk_limit)                           \
-     _obstack_newchunk (__o, 1);                                        \
-   obstack_1grow_fast (__o, datum);                                     \
-   (void) 0; })
+    (__o->chunk->prev == 0                                             \
+     && __o->next_free == __PTR_ALIGN ((char *) __o->chunk,            \
+                                      __o->chunk->contents,            \
+                                      __o->alignment_mask)); })
+
+# define obstack_grow(OBSTACK, where, length)                          \
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    int __len = (length);                                              \
+    if (__o->next_free + __len > __o->chunk_limit)                     \
+      _obstack_newchunk (__o, __len);                                  \
+    memcpy (__o->next_free, where, __len);                             \
+    __o->next_free += __len;                                           \
+    (void) 0; })
+
+# define obstack_grow0(OBSTACK, where, length)                         \
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    int __len = (length);                                              \
+    if (__o->next_free + __len + 1 > __o->chunk_limit)                 \
+      _obstack_newchunk (__o, __len + 1);                              \
+    memcpy (__o->next_free, where, __len);                             \
+    __o->next_free += __len;                                           \
+    *(__o->next_free)++ = 0;                                           \
+    (void) 0; })
+
+# define obstack_1grow(OBSTACK, datum)                                 \
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    if (__o->next_free + 1 > __o->chunk_limit)                         \
+      _obstack_newchunk (__o, 1);                                      \
+    obstack_1grow_fast (__o, datum);                                   \
+    (void) 0; })
 
 /* These assume that the obstack alignment is good enough for pointers
    or ints, and that the data added so far to the current object
    shares that much alignment.  */
 
-# define obstack_ptr_grow(OBSTACK,datum)                                \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   if (__o->next_free + sizeof (void *) > __o->chunk_limit)             \
-     _obstack_newchunk (__o, sizeof (void *));                          \
-   obstack_ptr_grow_fast (__o, datum); })                               \
-
-# define obstack_int_grow(OBSTACK,datum)                                \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   if (__o->next_free + sizeof (int) > __o->chunk_limit)                \
-     _obstack_newchunk (__o, sizeof (int));                             \
-   obstack_int_grow_fast (__o, datum); })
-
-# define obstack_ptr_grow_fast(OBSTACK,aptr)                            \
-__extension__                                                           \
-({ struct obstack *__o1 = (OBSTACK);                                    \
-   void *__p1 = __o1->next_free;                                        \
-   *(const void **) __p1 = (aptr);                                      \
-   __o1->next_free += sizeof (const void *);                            \
-   (void) 0; })
-
-# define obstack_int_grow_fast(OBSTACK,aint)                            \
-__extension__                                                           \
-({ struct obstack *__o1 = (OBSTACK);                                    \
-   void *__p1 = __o1->next_free;                                        \
-   *(int *) __p1 = (aint);                                              \
-   __o1->next_free += sizeof (int);                                     \
-   (void) 0; })
-
-# define obstack_blank(OBSTACK,length)                                  \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   int __len = (length);                                                \
-   if (__o->chunk_limit - __o->next_free < __len)                       \
-     _obstack_newchunk (__o, __len);                                    \
-   obstack_blank_fast (__o, __len);                                     \
-   (void) 0; })
-
-# define obstack_alloc(OBSTACK,length)                                  \
-__extension__                                                           \
-({ struct obstack *__h = (OBSTACK);                                     \
-   obstack_blank (__h, (length));                                       \
-   obstack_finish (__h); })
-
-# define obstack_copy(OBSTACK,where,length)                             \
-__extension__                                                           \
-({ struct obstack *__h = (OBSTACK);                                     \
-   obstack_grow (__h, (where), (length));                               \
-   obstack_finish (__h); })
-
-# define obstack_copy0(OBSTACK,where,length)                            \
-__extension__                                                           \
-({ struct obstack *__h = (OBSTACK);                                     \
-   obstack_grow0 (__h, (where), (length));                              \
-   obstack_finish (__h); })
+# define obstack_ptr_grow(OBSTACK, datum)                              \
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    if (__o->next_free + sizeof (void *) > __o->chunk_limit)           \
+      _obstack_newchunk (__o, sizeof (void *));                                
\
+    obstack_ptr_grow_fast (__o, datum); })                             \
+
+# define obstack_int_grow(OBSTACK, datum)                              \
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    if (__o->next_free + sizeof (int) > __o->chunk_limit)              \
+      _obstack_newchunk (__o, sizeof (int));                           \
+    obstack_int_grow_fast (__o, datum); })
+
+# define obstack_ptr_grow_fast(OBSTACK, aptr)                          \
+  __extension__                                                                
\
+  ({ struct obstack *__o1 = (OBSTACK);                                 \
+    void *__p1 = __o1->next_free;                                      \
+    *(const void **) __p1 = (aptr);                                    \
+    __o1->next_free += sizeof (const void *);                          \
+    (void) 0; })
+
+# define obstack_int_grow_fast(OBSTACK, aint)                          \
+  __extension__                                                                
\
+  ({ struct obstack *__o1 = (OBSTACK);                                 \
+    void *__p1 = __o1->next_free;                                      \
+    *(int *) __p1 = (aint);                                            \
+    __o1->next_free += sizeof (int);                                   \
+    (void) 0; })
+
+# define obstack_blank(OBSTACK, length)                                        
\
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    int __len = (length);                                              \
+    if (__o->chunk_limit - __o->next_free < __len)                     \
+      _obstack_newchunk (__o, __len);                                  \
+    obstack_blank_fast (__o, __len);                                   \
+    (void) 0; })
+
+# define obstack_alloc(OBSTACK, length)                                        
\
+  __extension__                                                                
\
+  ({ struct obstack *__h = (OBSTACK);                                  \
+    obstack_blank (__h, (length));                                     \
+    obstack_finish (__h); })
+
+# define obstack_copy(OBSTACK, where, length)                          \
+  __extension__                                                                
\
+  ({ struct obstack *__h = (OBSTACK);                                  \
+    obstack_grow (__h, (where), (length));                             \
+    obstack_finish (__h); })
+
+# define obstack_copy0(OBSTACK, where, length)                         \
+  __extension__                                                                
\
+  ({ struct obstack *__h = (OBSTACK);                                  \
+    obstack_grow0 (__h, (where), (length));                            \
+    obstack_finish (__h); })
 
 /* The local variable is named __o1 to avoid a name conflict
    when obstack_blank is called.  */
 # define obstack_finish(OBSTACK)                                        \
-__extension__                                                           \
-({ struct obstack *__o1 = (OBSTACK);                                    \
-   void *__value = (void *) __o1->object_base;                          \
-   if (__o1->next_free == __value)                                      \
-     __o1->maybe_empty_object = 1;                                      \
-   __o1->next_free                                                      \
-     = __PTR_ALIGN (__o1->object_base, __o1->next_free,                 \
-                    __o1->alignment_mask);                              \
-   if (__o1->next_free - (char *)__o1->chunk                            \
-       > __o1->chunk_limit - (char *)__o1->chunk)                       \
-     __o1->next_free = __o1->chunk_limit;                               \
-   __o1->object_base = __o1->next_free;                                 \
-   __value; })
+  __extension__                                                                
\
+  ({ struct obstack *__o1 = (OBSTACK);                                 \
+    void *__value = (void *) __o1->object_base;                                
\
+    if (__o1->next_free == __value)                                    \
+      __o1->maybe_empty_object = 1;                                    \
+    __o1->next_free                                                    \
+      = __PTR_ALIGN (__o1->object_base, __o1->next_free,               \
+                    __o1->alignment_mask);                             \
+    if (__o1->next_free - (char *)__o1->chunk                          \
+       > __o1->chunk_limit - (char *)__o1->chunk)                      \
+      __o1->next_free = __o1->chunk_limit;                             \
+    __o1->object_base = __o1->next_free;                               \
+    __value; })
 
 # define obstack_free(OBSTACK, OBJ)                                     \
-__extension__                                                           \
-({ struct obstack *__o = (OBSTACK);                                     \
-   void *__obj = (OBJ);                                                 \
-   if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit)  \
-     __o->next_free = __o->object_base = (char *)__obj;                 \
-   else (__obstack_free) (__o, __obj); })
+  __extension__                                                                
\
+  ({ struct obstack *__o = (OBSTACK);                                  \
+    void *__obj = (OBJ);                                               \
+    if (__obj > (void *)__o->chunk && __obj < (void *)__o->chunk_limit)        
\
+      __o->next_free = __o->object_base = (char *)__obj;               \
+    else (__obstack_free) (__o, __obj); })
 
 #else /* not __GNUC__ */
 
 # define obstack_object_size(h) \
- (unsigned) ((h)->next_free - (h)->object_base)
+  (unsigned) ((h)->next_free - (h)->object_base)
 
 # define obstack_room(h)                \
- (unsigned) ((h)->chunk_limit - (h)->next_free)
+  (unsigned) ((h)->chunk_limit - (h)->next_free)
 
 # define obstack_empty_p(h) \
- ((h)->chunk->prev == 0                                                 \
-  && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk,                \
-                                    (h)->chunk->contents,               \
-                                    (h)->alignment_mask))
+  ((h)->chunk->prev == 0                                               \
+   && (h)->next_free == __PTR_ALIGN ((char *) (h)->chunk,              \
+                                    (h)->chunk->contents,              \
+                                    (h)->alignment_mask))
 
 /* Note that the call to _obstack_newchunk is enclosed in (..., 0)
    so that we can avoid having void expressions
@@ -420,83 +420,83 @@ __extension__                                             
              \
    Casting the third operand to void was tried before,
    but some compilers won't accept it.  */
 
-# define obstack_make_room(h,length)                                    \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit)              \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0))
-
-# define obstack_grow(h,where,length)                                   \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit)              \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0),              \
-  memcpy ((h)->next_free, where, (h)->temp.tempint),                    \
-  (h)->next_free += (h)->temp.tempint)
-
-# define obstack_grow0(h,where,length)                                  \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit)          \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0),          \
-  memcpy ((h)->next_free, where, (h)->temp.tempint),                    \
-  (h)->next_free += (h)->temp.tempint,                                  \
-  *((h)->next_free)++ = 0)
-
-# define obstack_1grow(h,datum)                                         \
-( (((h)->next_free + 1 > (h)->chunk_limit)                              \
-   ? (_obstack_newchunk ((h), 1), 0) : 0),                              \
-  obstack_1grow_fast (h, datum))
-
-# define obstack_ptr_grow(h,datum)                                      \
-( (((h)->next_free + sizeof (char *) > (h)->chunk_limit)                \
-   ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),                \
-  obstack_ptr_grow_fast (h, datum))
-
-# define obstack_int_grow(h,datum)                                      \
-( (((h)->next_free + sizeof (int) > (h)->chunk_limit)                   \
-   ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),                   \
-  obstack_int_grow_fast (h, datum))
-
-# define obstack_ptr_grow_fast(h,aptr)                                  \
+# define obstack_make_room(h, length)                                  \
+  ((h)->temp.tempint = (length),                                       \
+   (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit)            \
+    ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0))
+
+# define obstack_grow(h, where, length)                                        
\
+  ((h)->temp.tempint = (length),                                       \
+   (((h)->next_free + (h)->temp.tempint > (h)->chunk_limit)            \
+    ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0),            \
+   memcpy ((h)->next_free, where, (h)->temp.tempint),                  \
+   (h)->next_free += (h)->temp.tempint)
+
+# define obstack_grow0(h, where, length)                               \
+  ((h)->temp.tempint = (length),                                       \
+   (((h)->next_free + (h)->temp.tempint + 1 > (h)->chunk_limit)                
\
+    ? (_obstack_newchunk ((h), (h)->temp.tempint + 1), 0) : 0),                
\
+   memcpy ((h)->next_free, where, (h)->temp.tempint),                  \
+   (h)->next_free += (h)->temp.tempint,                                        
\
+   *((h)->next_free)++ = 0)
+
+# define obstack_1grow(h, datum)                                       \
+  ((((h)->next_free + 1 > (h)->chunk_limit)                            \
+    ? (_obstack_newchunk ((h), 1), 0) : 0),                            \
+   obstack_1grow_fast (h, datum))
+
+# define obstack_ptr_grow(h, datum)                                    \
+  ((((h)->next_free + sizeof (char *) > (h)->chunk_limit)              \
+    ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),              \
+   obstack_ptr_grow_fast (h, datum))
+
+# define obstack_int_grow(h, datum)                                    \
+  ((((h)->next_free + sizeof (int) > (h)->chunk_limit)                 \
+    ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),                 \
+   obstack_int_grow_fast (h, datum))
+
+# define obstack_ptr_grow_fast(h, aptr)                                        
\
   (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr))
 
-# define obstack_int_grow_fast(h,aint)                                  \
+# define obstack_int_grow_fast(h, aint)                                \
   (((int *) ((h)->next_free += sizeof (int)))[-1] = (aint))
 
-# define obstack_blank(h,length)                                        \
-( (h)->temp.tempint = (length),                                         \
-  (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint)              \
-   ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0),              \
-  obstack_blank_fast (h, (h)->temp.tempint))
+# define obstack_blank(h, length)                                      \
+  ((h)->temp.tempint = (length),                                       \
+   (((h)->chunk_limit - (h)->next_free < (h)->temp.tempint)            \
+    ? (_obstack_newchunk ((h), (h)->temp.tempint), 0) : 0),            \
+   obstack_blank_fast (h, (h)->temp.tempint))
 
-# define obstack_alloc(h,length)                                        \
- (obstack_blank ((h), (length)), obstack_finish ((h)))
+# define obstack_alloc(h, length)                      \
+  (obstack_blank ((h), (length)), obstack_finish ((h)))
 
-# define obstack_copy(h,where,length)                                   \
- (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
+# define obstack_copy(h, where, length)                                \
+  (obstack_grow ((h), (where), (length)), obstack_finish ((h)))
 
-# define obstack_copy0(h,where,length)                                  \
- (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
+# define obstack_copy0(h, where, length)                               \
+  (obstack_grow0 ((h), (where), (length)), obstack_finish ((h)))
 
 # define obstack_finish(h)                                              \
-( ((h)->next_free == (h)->object_base                                   \
-   ? (((h)->maybe_empty_object = 1), 0)                                 \
-   : 0),                                                                \
-  (h)->temp.tempptr = (h)->object_base,                                 \
-  (h)->next_free                                                        \
-    = __PTR_ALIGN ((h)->object_base, (h)->next_free,                    \
-                   (h)->alignment_mask),                                \
-  (((h)->next_free - (char *) (h)->chunk                                \
-    > (h)->chunk_limit - (char *) (h)->chunk)                           \
-   ? ((h)->next_free = (h)->chunk_limit) : 0),                          \
-  (h)->object_base = (h)->next_free,                                    \
-  (h)->temp.tempptr)
-
-# define obstack_free(h,obj)                                            \
-( (h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk,             \
-  ((((h)->temp.tempint > 0                                              \
-    && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk))     \
-   ? (void) ((h)->next_free = (h)->object_base                          \
-             = (h)->temp.tempint + (char *) (h)->chunk)                 \
-   : (__obstack_free) (h, (h)->temp.tempint + (char *) (h)->chunk)))
+  (((h)->next_free == (h)->object_base                                 \
+    ? (((h)->maybe_empty_object = 1), 0)                               \
+    : 0),                                                              \
+   (h)->temp.tempptr = (h)->object_base,                               \
+   (h)->next_free                                                      \
+   = __PTR_ALIGN ((h)->object_base, (h)->next_free,                    \
+                 (h)->alignment_mask),                                 \
+   (((h)->next_free - (char *) (h)->chunk                              \
+     > (h)->chunk_limit - (char *) (h)->chunk)                         \
+    ? ((h)->next_free = (h)->chunk_limit) : 0),                                
\
+   (h)->object_base = (h)->next_free,                                  \
+   (h)->temp.tempptr)
+
+# define obstack_free(h, obj)                                          \
+  ((h)->temp.tempint = (char *) (obj) - (char *) (h)->chunk,           \
+   ((((h)->temp.tempint > 0                                            \
+      && (h)->temp.tempint < (h)->chunk_limit - (char *) (h)->chunk))  \
+    ? (void) ((h)->next_free = (h)->object_base                                
\
+             = (h)->temp.tempint + (char *) (h)->chunk)                \
+    : (__obstack_free) (h, (h)->temp.tempint + (char *) (h)->chunk)))
 
 #endif /* not __GNUC__ */
 
-- 
1.8.1.4




reply via email to

[Prev in Thread] Current Thread [Next in Thread]