diff options
author | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-01 14:44:56 +0000 |
---|---|---|
committer | ghazi <ghazi@138bc75d-0d04-0410-961f-82ee72b054a4> | 1999-09-01 14:44:56 +0000 |
commit | c2b331c8986dd0a1c7fbeb1e9ea26f46eefebaa1 (patch) | |
tree | 857be0ae58c1bb2a02afe0e85d7b344ae44997dc /include/obstack.h | |
parent | 5bb2f9194e05736442d94c1b28922e552a24fe02 (diff) | |
download | gcc-c2b331c8986dd0a1c7fbeb1e9ea26f46eefebaa1.tar.gz |
Avoids false positives with -Wcast-qual:
* obstack.h (obstack_grow, obstack_grow0): Move (char*) casts
in calls to `_obstack_memcpy' from here ...
(_obstack_memcpy): ... to here, except in the __STDC__ case which
doesn't need it.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@29028 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include/obstack.h')
-rw-r--r-- | include/obstack.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/include/obstack.h b/include/obstack.h index 38e96777660..a20ab55967a 100644 --- a/include/obstack.h +++ b/include/obstack.h @@ -143,12 +143,16 @@ extern "C" { #if defined _LIBC || defined HAVE_STRING_H # include <string.h> -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +# if defined __STDC__ && __STDC__ +# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +# else +# define _obstack_memcpy(To, From, N) memcpy ((To), (char *)(From), (N)) +# endif #else # ifdef memcpy -# define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) +# define _obstack_memcpy(To, From, N) memcpy ((To), (char *)(From), (N)) # else -# define _obstack_memcpy(To, From, N) bcopy ((From), (To), (N)) +# define _obstack_memcpy(To, From, N) bcopy ((char *)(From), (To), (N)) # endif #endif @@ -385,7 +389,7 @@ __extension__ \ int __len = (length); \ if (__o->next_free + __len > __o->chunk_limit) \ _obstack_newchunk (__o, __len); \ - _obstack_memcpy (__o->next_free, (char *) (where), __len); \ + _obstack_memcpy (__o->next_free, (where), __len); \ __o->next_free += __len; \ (void) 0; }) @@ -395,7 +399,7 @@ __extension__ \ int __len = (length); \ if (__o->next_free + __len + 1 > __o->chunk_limit) \ _obstack_newchunk (__o, __len + 1); \ - _obstack_memcpy (__o->next_free, (char *) (where), __len); \ + _obstack_memcpy (__o->next_free, (where), __len); \ __o->next_free += __len; \ *(__o->next_free)++ = 0; \ (void) 0; }) @@ -510,14 +514,14 @@ __extension__ \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (char *) (where), (h)->temp), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ (h)->next_free += (h)->temp) # define obstack_grow0(h,where,length) \ ( (h)->temp = (length), \ (((h)->next_free + (h)->temp + 1 > (h)->chunk_limit) \ ? (_obstack_newchunk ((h), (h)->temp + 1), 0) : 0), \ - _obstack_memcpy ((h)->next_free, (char *) (where), (h)->temp), \ + _obstack_memcpy ((h)->next_free, (where), (h)->temp), \ (h)->next_free += (h)->temp, \ *((h)->next_free)++ = 0) |