diff options
author | Ian Lance Taylor <ian@airs.com> | 1999-06-03 00:23:27 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@airs.com> | 1999-06-03 00:23:27 +0000 |
commit | 1af6dcd2bb59d35b0a2cd2e7898831e685bc043f (patch) | |
tree | bf73a37233b028c9d25765ca2dc8135451ed2a73 | |
parent | 54d22525bbb6adc042a0005dfeb8a567db25865b (diff) | |
download | gdb-1af6dcd2bb59d35b0a2cd2e7898831e685bc043f.zip gdb-1af6dcd2bb59d35b0a2cd2e7898831e685bc043f.tar.gz gdb-1af6dcd2bb59d35b0a2cd2e7898831e685bc043f.tar.bz2 |
* gasp.c (chunksize): New variable.
* macro.c (macro_expand_body): Call hash_jam with NULL rather than
hash_delete
.CVS: ----------------------------------------------------------------------
-rw-r--r-- | gas/gasp.c | 5 | ||||
-rw-r--r-- | gas/macro.c | 6 |
2 files changed, 9 insertions, 2 deletions
@@ -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 9d92ff4..2aeb157 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); |