diff src/symtab.h @ 5013:1eb9ce5c0152

[project @ 2004-09-21 22:18:07 by jwe]
author jwe
date Tue, 21 Sep 2004 22:22:13 +0000
parents 1c0442da75fd
children b04b30d30c66
line wrap: on
line diff
--- a/src/symtab.h	Tue Sep 21 15:45:48 2004 +0000
+++ b/src/symtab.h	Tue Sep 21 22:22:13 2004 +0000
@@ -258,7 +258,11 @@
       can_hide_function (n != "__end__"), nm (n), chg_fcn (0),
       definition (new symbol_def ()), next_elem (nxt) { }
 
-  ~symbol_record (void) { }
+  ~symbol_record (void)
+    {
+      if (--definition->count <= 0)
+	delete definition;
+    }
 
   std::string name (void) const { return nm; }
 
@@ -467,11 +471,7 @@
 	}
     }
 
-  ~symbol_table (void)
-    {
-      clear ();
-      delete [] table;
-    }
+  ~symbol_table (void);
 
   symbol_record *lookup (const std::string& nm, bool insert = false,
 			 bool warn = false);