aboutsummaryrefslogtreecommitdiff
path: root/gas/read.c
diff options
context:
space:
mode:
authorAlan Modra <amodra@gmail.com>2022-07-05 13:00:41 +0930
committerAlan Modra <amodra@gmail.com>2022-07-09 21:22:28 +0930
commitb18220936c6a1c660a108b88165c1972944e51fc (patch)
tree2dc676c9bfb427badfb95a8ad949351df751dbd2 /gas/read.c
parent5a210b9fe8a5fe616320f5adf432516334c3702f (diff)
downloadgdb-b18220936c6a1c660a108b88165c1972944e51fc.zip
gdb-b18220936c6a1c660a108b88165c1972944e51fc.tar.gz
gdb-b18220936c6a1c660a108b88165c1972944e51fc.tar.bz2
gas: free sy_hash, macro_hash and po_hash
* macro.c (macro_end): New function. * macro.h (macro_end): Declare. * read.c (read_end, poend): New functions. * read.h (read_end): Declare. * symbols.c (symbol_end): New function. * symbols.h (symbol_end): Declare. * output-file.c (output_file_close): Call new *_end functions.
Diffstat (limited to 'gas/read.c')
-rw-r--r--gas/read.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/gas/read.c b/gas/read.c
index 2f9a22a..edf3f2a 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -248,6 +248,7 @@ static void s_reloc (int);
static int hex_float (int, char *);
static segT get_known_segmented_expression (expressionS * expP);
static void pobegin (void);
+static void poend (void);
static size_t get_non_macro_line_sb (sb *);
static void generate_file_debug (void);
static char *_find_end_of_line (char *, int, int, int);
@@ -276,6 +277,12 @@ read_begin (void)
if (flag_mri)
lex_type['?'] = 3;
}
+
+void
+read_end (void)
+{
+ poend ();
+}
#ifndef TC_ADDRESS_BYTES
#define TC_ADDRESS_BYTES address_bytes
@@ -561,6 +568,12 @@ pobegin (void)
pop_override_ok = 1;
cfi_pop_insert ();
}
+
+static void
+poend (void)
+{
+ htab_delete (po_hash);
+}
#define HANDLE_CONDITIONAL_ASSEMBLY(num_read) \
if (ignore_input ()) \