Ignore:
Timestamp:
Sep 7, 2004, 4:34:11 AM (21 years ago)
Author:
bird
Message:

GCC v3.3.4 - official sources.

Location:
branches/GNU/src/gcc/include
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/gcc/include/ChangeLog

    • Property cvs2svn:cvs-rev changed from 1.1.1.2 to 1.1.1.3
    r1473 r1474  
     12004-05-31  Release Manager
     2
     3        * GCC 3.3.4 Released.
     4
     52004-03-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>
     6
     7        PR bootstrap/14348
     8        Backport
     9        2003-10-22  Joseph S. Myers  <jsm@polyomino.org.uk>
     10        * obstack.h: Merge the following change from gnulib:
     11        2003-10-21  Paul Eggert  <eggert@twinsun.com>
     12        * obstack.h (obstack_1grow_fast): Properly parenthesize arg.
     13        (obstack_ptr_grow_fast, obstack_int_grow_fast):
     14        Don't use lvalue casts, as GCC plans to remove support for them
     15        in GCC 3.5.  Reported by Joseph S. Myers.  This bug
     16        was also present in the non-GCC version, indicating that this
     17        code had always been buggy and had never been widely used.
     18        (obstack_1grow, obstack_ptr_grow, obstack_int_grow,
     19        obstack_blank):
     20        Use the fast variant of each macro, rather than copying the
     21        definiens of the fast variant; that way, we'll be more likely to
     22        catch future bugs in the fast variants.
     23
    1242004-02-14  Release Manager
    225
  • branches/GNU/src/gcc/include/obstack.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r1473 r1474  
    347347#endif
    348348
    349 #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = achar)
     349#define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar))
    350350
    351351#define obstack_blank_fast(h,n) ((h)->next_free += (n))
     
    416416   if (__o->next_free + 1 > __o->chunk_limit)                           \
    417417     _obstack_newchunk (__o, 1);                                        \
    418    *(__o->next_free)++ = (datum);                                       \
     418   obstack_1grow_fast (__o, datum);                                     \
    419419   (void) 0; })
    420420
     
    428428   if (__o->next_free + sizeof (void *) > __o->chunk_limit)             \
    429429     _obstack_newchunk (__o, sizeof (void *));                          \
    430    *((void **)__o->next_free)++ = ((void *)datum);                      \
    431    (void) 0; })
     430   obstack_ptr_grow_fast (__o, datum); })
    432431
    433432# define obstack_int_grow(OBSTACK,datum)                                \
     
    436435   if (__o->next_free + sizeof (int) > __o->chunk_limit)                \
    437436     _obstack_newchunk (__o, sizeof (int));                             \
    438    *((int *)__o->next_free)++ = ((int)datum);                           \
     437   obstack_int_grow_fast (__o, datum); })
     438
     439# define obstack_ptr_grow_fast(OBSTACK,aptr)                            \
     440__extension__                                                           \
     441({ struct obstack *__o1 = (OBSTACK);                                    \
     442   *(const void **) __o1->next_free = (aptr);                           \
     443   __o1->next_free += sizeof (const void *);                            \
    439444   (void) 0; })
    440445
    441 # define obstack_ptr_grow_fast(h,aptr) (*((void **) (h)->next_free)++ = (void *)aptr)
    442 # define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
     446# define obstack_int_grow_fast(OBSTACK,aint)                            \
     447__extension__                                                           \
     448({ struct obstack *__o1 = (OBSTACK);                                    \
     449   *(int *) __o1->next_free = (aint);                                   \
     450   __o1->next_free += sizeof (int);                                     \
     451   (void) 0; })
    443452
    444453# define obstack_blank(OBSTACK,length)                                  \
     
    448457   if (__o->chunk_limit - __o->next_free < __len)                       \
    449458     _obstack_newchunk (__o, __len);                                    \
    450    __o->next_free += __len;                                             \
     459   obstack_blank_fast (__o, __len);                                     \
    451460   (void) 0; })
    452461
     
    536545( (((h)->next_free + 1 > (h)->chunk_limit)                              \
    537546   ? (_obstack_newchunk ((h), 1), 0) : 0),                              \
    538   (*((h)->next_free)++ = (datum)))
     547  obstack_1grow_fast (h, datum))
    539548
    540549# define obstack_ptr_grow(h,datum)                                      \
    541550( (((h)->next_free + sizeof (char *) > (h)->chunk_limit)                \
    542551   ? (_obstack_newchunk ((h), sizeof (char *)), 0) : 0),                \
    543   (*((char **) (((h)->next_free+=sizeof(char *))-sizeof(char *))) = ((char *) datum)))
     552  obstack_ptr_grow_fast (h, datum))
    544553
    545554# define obstack_int_grow(h,datum)                                      \
    546555( (((h)->next_free + sizeof (int) > (h)->chunk_limit)                   \
    547556   ? (_obstack_newchunk ((h), sizeof (int)), 0) : 0),                   \
    548   (*((int *) (((h)->next_free+=sizeof(int))-sizeof(int))) = ((int) datum)))
    549 
    550 # define obstack_ptr_grow_fast(h,aptr) (*((char **) (h)->next_free)++ = (char *) aptr)
    551 # define obstack_int_grow_fast(h,aint) (*((int *) (h)->next_free)++ = (int) aint)
     557  obstack_int_grow_fast (h, datum))
     558
     559# define obstack_ptr_grow_fast(h,aptr)                                  \
     560  (((const void **) ((h)->next_free += sizeof (void *)))[-1] = (aptr))
     561
     562# define obstack_int_grow_fast(h,aint)                                  \
     563  (((int *) ((h)->next_free += sizeof (int)))[-1] = (aptr))
    552564
    553565# define obstack_blank(h,length)                                        \
     
    555567  (((h)->chunk_limit - (h)->next_free < (h)->temp)                      \
    556568   ? (_obstack_newchunk ((h), (h)->temp), 0) : 0),                      \
    557   ((h)->next_free += (h)->temp))
     569  obstack_blank_fast (h, (h)->temp))
    558570
    559571# define obstack_alloc(h,length)                                        \
Note: See TracChangeset for help on using the changeset viewer.