X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/41d7a5f24d5e69bdf6ce10c012d50b89ce1e3957..7aaf9ce7582bb4fe33f29c9f2a137f2c774b05f1:/src/symtab.c diff --git a/src/symtab.c b/src/symtab.c index e438e4fc..f748fcb0 100644 --- a/src/symtab.c +++ b/src/symtab.c @@ -1,7 +1,7 @@ /* Symbol table manager for Bison. - Copyright (C) 1984, 1989, 2000, 2001, 2002, 2004, 2005, 2006, 2007 Free - Software Foundation, Inc. + Copyright (C) 1984, 1989, 2000, 2001, 2002, 2004, 2005, 2006, 2007, + 2008-2009 Free Software Foundation, Inc. This file is part of Bison, the GNU Compiler Compiler. @@ -358,8 +358,6 @@ symbol_user_token_number_set (symbol *sym, int user_token_number, location loc) { int *user_token_numberp; - aver (sym->class == token_sym); - if (sym->user_token_number != USER_NUMBER_ALIAS) user_token_numberp = &sym->user_token_number; else @@ -674,7 +672,8 @@ symbol_from_uniqstr (const uniqstr key, location loc) { /* First insertion in the hash. */ entry = symbol_new (key, loc); - hash_insert (symbol_table, entry); + if (!hash_insert (symbol_table, entry)) + xalloc_die (); } return entry; } @@ -698,7 +697,8 @@ semantic_type_from_uniqstr (const uniqstr key) { /* First insertion in the hash. */ entry = semantic_type_new (key); - hash_insert (semantic_type_table, entry); + if (!hash_insert (semantic_type_table, entry)) + xalloc_die (); } return entry; }