aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog12
-rw-r--r--gcc/cppinit.c7
-rw-r--r--gcc/cpplex.c10
-rw-r--r--gcc/cpplib.c12
-rw-r--r--gcc/cpplib.h2
-rw-r--r--gcc/cppmacro.c12
6 files changed, 22 insertions, 33 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 2bb19be..31beacd 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,15 @@
+2000-12-17 Neil Booth <neil@daikokuya.demon.co.uk>
+
+ * cpplib.h (struct cpp_reader): Remove references to string_pool
+ and temp_string_pool.
+ * cppinit.c (cpp_create_reader, cpp_cleanup): Similarly; using
+ ident_pool in place.
+ * cpplex.c (parse_number, unescaped_terminator_p, parse_string,
+ save_comment, cpp_token_as_text): Similarly.
+ * cpplib.c (do_define, glue_header_name, parse_assertion): Similarly.
+ * cppmacro.c (make_number_token, builtin_macro, lock_pools,
+ unlock_pools, stringify_arg, paste_tokens): Similarly.
+
Sun Dec 17 12:41:48 2000 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
* dwarf2out.c (loc_descriptor_from_tree, case NOP_EXPR): New case.
diff --git a/gcc/cppinit.c b/gcc/cppinit.c
index 1ded3a3..ea4bc6b 100644
--- a/gcc/cppinit.c
+++ b/gcc/cppinit.c
@@ -513,18 +513,12 @@ cpp_create_reader (lang)
/* Identifier pool initially 8K. Unaligned, permanent pool. */
_cpp_init_pool (&pfile->ident_pool, 8 * 1024, 1, 0);
- /* String and number pool initially 4K. Unaligned, temporary pool. */
- _cpp_init_pool (&pfile->temp_string_pool, 4 * 1024, 1, 1);
-
/* Argument pool initially 8K. Aligned, temporary pool. */
_cpp_init_pool (&pfile->argument_pool, 8 * 1024, 0, 1);
/* Macro pool initially 8K. Aligned, permanent pool. */
_cpp_init_pool (&pfile->macro_pool, 8 * 1024, 0, 0);
- /* Start with temporary pool. */
- pfile->string_pool = &pfile->temp_string_pool;
-
_cpp_init_hashtable (pfile);
_cpp_init_stacks (pfile);
_cpp_init_includes (pfile);
@@ -568,7 +562,6 @@ cpp_cleanup (pfile)
_cpp_free_lookaheads (pfile);
_cpp_free_pool (&pfile->ident_pool);
- _cpp_free_pool (&pfile->temp_string_pool);
_cpp_free_pool (&pfile->macro_pool);
_cpp_free_pool (&pfile->argument_pool);
diff --git a/gcc/cpplex.c b/gcc/cpplex.c
index 2b5b852..1dc401e 100644
--- a/gcc/cpplex.c
+++ b/gcc/cpplex.c
@@ -539,7 +539,7 @@ parse_number (pfile, number, c, leading_period)
int leading_period;
{
cpp_buffer *buffer = pfile->buffer;
- cpp_pool *pool = pfile->string_pool;
+ cpp_pool *pool = &pfile->ident_pool;
unsigned char *dest, *limit;
dest = POOL_FRONT (pool);
@@ -618,7 +618,7 @@ unescaped_terminator_p (pfile, dest)
if (pfile->state.angled_headers)
return 1;
- start = POOL_FRONT (pfile->string_pool);
+ start = POOL_FRONT (&pfile->ident_pool);
/* An odd number of consecutive backslashes represents an escaped
terminator. */
@@ -640,7 +640,7 @@ parse_string (pfile, token, terminator)
cppchar_t terminator;
{
cpp_buffer *buffer = pfile->buffer;
- cpp_pool *pool = pfile->string_pool;
+ cpp_pool *pool = &pfile->ident_pool;
unsigned char *dest, *limit;
cppchar_t c;
unsigned int nulls = 0;
@@ -738,7 +738,7 @@ save_comment (pfile, token, from)
line, which we don't want to save in the comment. */
if (pfile->buffer->read_ahead != EOF)
len--;
- buffer = _cpp_pool_alloc (pfile->string_pool, len);
+ buffer = _cpp_pool_alloc (&pfile->ident_pool, len);
token->type = CPP_COMMENT;
token->val.str.len = len;
@@ -1378,7 +1378,7 @@ cpp_token_as_text (pfile, token)
const cpp_token *token;
{
unsigned int len = cpp_token_len (token);
- unsigned char *start = _cpp_pool_alloc (&pfile->temp_string_pool, len), *end;
+ unsigned char *start = _cpp_pool_alloc (&pfile->ident_pool, len), *end;
end = cpp_spell_token (pfile, token, start);
end[0] = '\0';
diff --git a/gcc/cpplib.c b/gcc/cpplib.c
index a032f7b..76d6cc3 100644
--- a/gcc/cpplib.c
+++ b/gcc/cpplib.c
@@ -457,15 +457,9 @@ do_define (pfile)
if (node)
{
- /* Use the permanent pool for storage. */
- pfile->string_pool = &pfile->ident_pool;
-
if (_cpp_create_definition (pfile, node))
if (pfile->cb.define)
(*pfile->cb.define) (pfile, node);
-
- /* Revert to the temporary pool. */
- pfile->string_pool = &pfile->temp_string_pool;
}
}
@@ -531,7 +525,7 @@ glue_header_name (pfile, header)
cpp_error (pfile, "missing terminating > character");
else
{
- token_mem = _cpp_pool_alloc (pfile->string_pool, total_len);
+ token_mem = _cpp_pool_alloc (&pfile->ident_pool, total_len);
memcpy (token_mem, buffer, total_len);
header->type = CPP_HEADER_NAME;
@@ -1487,9 +1481,6 @@ parse_assertion (pfile, answerp, type)
/* We don't expand predicates or answers. */
pfile->state.prevent_expansion++;
- /* Use the permanent pool for storage (for the answers). */
- pfile->string_pool = &pfile->ident_pool;
-
*answerp = 0;
cpp_get_token (pfile, &predicate);
if (predicate.type == CPP_EOF)
@@ -1507,7 +1498,6 @@ parse_assertion (pfile, answerp, type)
result = cpp_lookup (pfile, sym, len + 1);
}
- pfile->string_pool = &pfile->temp_string_pool;
pfile->state.prevent_expansion--;
return result;
}
diff --git a/gcc/cpplib.h b/gcc/cpplib.h
index 4c4b7e3..32ebb74 100644
--- a/gcc/cpplib.h
+++ b/gcc/cpplib.h
@@ -512,10 +512,8 @@ struct cpp_reader
/* Memory pools. */
cpp_pool ident_pool; /* For all identifiers, and permanent
numbers and strings. */
- cpp_pool temp_string_pool; /* For temporary numbers and strings. */
cpp_pool macro_pool; /* For macro definitions. Permanent. */
cpp_pool argument_pool; /* For macro arguments. Temporary. */
- cpp_pool* string_pool; /* Either temp_string_pool or ident_pool. */
/* Context stack. */
struct cpp_context base_context;
diff --git a/gcc/cppmacro.c b/gcc/cppmacro.c
index 2290093..8af9fab 100644
--- a/gcc/cppmacro.c
+++ b/gcc/cppmacro.c
@@ -125,7 +125,7 @@ make_number_token (pfile, token, number)
cpp_token *token;
int number;
{
- unsigned char *buf = _cpp_pool_alloc (pfile->string_pool, 20);
+ unsigned char *buf = _cpp_pool_alloc (&pfile->ident_pool, 20);
sprintf ((char *) buf, "%d", number);
token->type = CPP_NUMBER;
@@ -162,7 +162,7 @@ builtin_macro (pfile, token)
buffer = buffer->prev;
name = buffer->nominal_fname;
- make_string_token (pfile->string_pool, token,
+ make_string_token (&pfile->ident_pool, token,
(const unsigned char *) name, strlen (name));
}
break;
@@ -237,7 +237,6 @@ static void
lock_pools (pfile)
cpp_reader *pfile;
{
- _cpp_lock_pool (&pfile->temp_string_pool);
_cpp_lock_pool (&pfile->argument_pool);
}
@@ -245,7 +244,6 @@ static void
unlock_pools (pfile)
cpp_reader *pfile;
{
- _cpp_unlock_pool (&pfile->temp_string_pool);
_cpp_unlock_pool (&pfile->argument_pool);
}
@@ -288,7 +286,7 @@ stringify_arg (pfile, arg)
cpp_reader *pfile;
macro_arg *arg;
{
- cpp_pool *pool = pfile->string_pool;
+ cpp_pool *pool = &pfile->ident_pool;
unsigned char *start = POOL_FRONT (pool);
unsigned int i, escape_it, total_len = 0, backslash_count = 0;
@@ -397,10 +395,8 @@ paste_tokens (pfile, lhs, rhs)
{
unsigned int total_len = cpp_token_len (lhs) + cpp_token_len (rhs);
unsigned char *result, *end;
- cpp_pool *pool;
- pool = type == CPP_NAME ? &pfile->ident_pool: pfile->string_pool;
- result = _cpp_pool_alloc (pool, total_len + 1);
+ result = _cpp_pool_alloc (&pfile->ident_pool, total_len + 1);
/* Paste the spellings and null terminate. */
end = cpp_spell_token (pfile, rhs, cpp_spell_token (pfile, lhs, result));