diff options
author | Paolo Bonzini <bonzini@gnu.org> | 2005-02-14 08:52:24 +0000 |
---|---|---|
committer | Paolo Bonzini <bonzini@gcc.gnu.org> | 2005-02-14 08:52:24 +0000 |
commit | be0f1e5478e1aba8e8231e6f42d60b096ba2726a (patch) | |
tree | 051695b6217a00738df88eb4f5452b7d4833bd75 /libcpp/macro.c | |
parent | 623049aa3c72118db18bed0c09a2bd88c3ef4664 (diff) | |
download | gcc-be0f1e5478e1aba8e8231e6f42d60b096ba2726a.zip gcc-be0f1e5478e1aba8e8231e6f42d60b096ba2726a.tar.gz gcc-be0f1e5478e1aba8e8231e6f42d60b096ba2726a.tar.bz2 |
re PR bootstrap/19818 (GCC 4.0 cannot bootstrap itself)
include:
2005-02-08 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/19818
* ansidecl.h (PARAMS): Guard from redefinition.
libcpp:
2005-02-08 Paolo Bonzini <bonzini@gnu.org>
PR bootstrap/19818
* configure.ac: Check for declaration of basename and getopt.
* config.in: Regenerate.
* configure: Regenerate.
* internal.h (ustrcspn): New.
* macro.c (create_iso_definition): Fix allocation of memory.
(padding_token): Add cast to remove const-ness.
* pch.c (cpp_read_state): Use ustrcspn.
From-SVN: r95003
Diffstat (limited to 'libcpp/macro.c')
-rw-r--r-- | libcpp/macro.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/libcpp/macro.c b/libcpp/macro.c index e3824cb..e118a5c 100644 --- a/libcpp/macro.c +++ b/libcpp/macro.c @@ -910,7 +910,10 @@ padding_token (cpp_reader *pfile, const cpp_token *source) cpp_token *result = _cpp_temp_token (pfile); result->type = CPP_PADDING; - result->val.source = source; + + /* Data in GCed data structures cannot be made const so far, so we + need a cast here. */ + result->val.source = (cpp_token *) source; result->flags = 0; return result; } @@ -1416,10 +1419,11 @@ create_iso_definition (cpp_reader *pfile, cpp_macro *macro) /* Success. Commit or allocate the parameter array. */ if (pfile->hash_table->alloc_subobject) { - cpp_token *tokns = pfile->hash_table->alloc_subobject - (sizeof (cpp_token) * macro->paramc); - memcpy (tokns, macro->params, sizeof (cpp_token) * macro->paramc); - macro->params = tokns; + cpp_hashnode **params = pfile->hash_table->alloc_subobject + (sizeof (cpp_hashnode *) * macro->paramc); + memcpy (params, macro->params, + sizeof (cpp_hashnode *) * macro->paramc); + macro->params = params; } else BUFF_FRONT (pfile->a_buff) = (uchar *) ¯o->params[macro->paramc]; |