From: Ian Lance Taylor Date: Thu, 3 Jun 1999 00:23:27 +0000 (+0000) Subject: * gasp.c (chunksize): New variable. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=1af6dcd2bb59d35b0a2cd2e7898831e685bc043f;p=binutils-gdb.git * gasp.c (chunksize): New variable. * macro.c (macro_expand_body): Call hash_jam with NULL rather than hash_delete .CVS: ---------------------------------------------------------------------- --- diff --git a/gas/gasp.c b/gas/gasp.c index fbb65e31b43..d8b98b32baf 100644 --- a/gas/gasp.c +++ b/gas/gasp.c @@ -76,6 +76,11 @@ char *program_version = "1.2"; it. */ extern void as_abort PARAMS ((const char *, int, const char *)); +/* The default obstack chunk size. If we set this to zero, the + obstack code will use whatever will fit in a 4096 byte block. This + is used by the hash table code used by macro.c. */ +int chunksize = 0; + #define MAX_INCLUDES 30 /* Maximum include depth */ #define MAX_REASONABLE 1000 /* Maximum number of expansions */ diff --git a/gas/macro.c b/gas/macro.c index 9d92ff4f1b1..2aeb157388e 100644 --- a/gas/macro.c +++ b/gas/macro.c @@ -1,5 +1,5 @@ /* macro.c - macro support for gas and gasp - Copyright (C) 1994, 95, 96, 97, 1998 Free Software Foundation, Inc. + Copyright (C) 1994, 95, 96, 97, 98, 1999 Free Software Foundation, Inc. Written by Steve and Judy Chamberlain of Cygnus Support, sac@cygnus.com @@ -902,7 +902,9 @@ macro_expand_body (in, out, formals, formal_hash, comment_char, locals) formal_entry *f; f = loclist->next; - hash_delete (formal_hash, sb_terminate (&loclist->name)); + /* Setting the value to NULL effectively deletes the entry. We + avoid calling hash_delete because it doesn't reclaim memory. */ + hash_jam (formal_hash, sb_terminate (&loclist->name), NULL); sb_kill (&loclist->name); sb_kill (&loclist->def); sb_kill (&loclist->actual);