]> git.saurik.com Git - bison.git/blobdiff - src/symtab.c
* src/getargs.c (statistics_flag): Replace with...
[bison.git] / src / symtab.c
index 84479da216b8c9b8e6cbad6a4e14897cc3e4d025..c701ccd673b6479f9ff8533305bcdc5db1a0e9c8 100644 (file)
@@ -1,5 +1,5 @@
 /* Symbol table manager for Bison,
-   Copyright 1984, 1989, 2000 Free Software Foundation, Inc.
+   Copyright 1984, 1989, 2000, 2001 Free Software Foundation, Inc.
 
    This file is part of Bison, the GNU Compiler Compiler.
 
@@ -20,7 +20,6 @@
 
 
 #include "system.h"
-#include "xalloc.h"
 #include "symtab.h"
 #include "gram.h"
 
@@ -50,6 +49,9 @@ hash (const char *key)
 static bucket *
 bucket_new (const char *tag, int hashval)
 {
+  /* Hack, until we have a Bison parser. */
+  extern int lineno;
+
   bucket *res = XMALLOC (bucket, 1);
 
   res->link = symtab[hashval];
@@ -59,9 +61,10 @@ bucket_new (const char *tag, int hashval)
   res->value = 0;
   res->prec = 0;
   res->assoc = right_assoc;
-  res->user_token_number = 0;
+  res->user_token_number = SUNDEF;
   res->alias = NULL;
   res->class = unknown_sym;
+  res->line = lineno;
 
   nsyms++;
 
@@ -143,6 +146,7 @@ free_symtab (void)
          if (bp->type_name)
            XFREE (bp->type_name);
 #endif
+         XFREE (bp->tag);
          XFREE (bp);
          bp = bptmp;
        }