X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=symbol_table.c;h=5a448e9c550fe9e7255e2f0f3386d4d0992c66cb;hb=6fd82c81483fd3916912336bbf543d287c69069a;hp=2f8f9dbc272dcb6bd09000cda8c5bcd90179350e;hpb=fd16b92f058181088a385c3224c8814831c006d3;p=cparser diff --git a/symbol_table.c b/symbol_table.c index 2f8f9db..5a448e9 100644 --- a/symbol_table.c +++ b/symbol_table.c @@ -20,6 +20,7 @@ #include #include "symbol_table_t.h" +#include "symbol_t.h" #include "token_t.h" #include "adt/hash_string.h" #include "adt/obst.h" @@ -29,10 +30,10 @@ struct obstack symbol_obstack; static inline void init_symbol_table_entry(symbol_t *entry, const char *string) { - entry->string = string; - entry->ID = T_IDENTIFIER; - entry->pp_ID = 0; - entry->declaration = NULL; + entry->string = string; + entry->ID = T_IDENTIFIER; + entry->pp_ID = TP_IDENTIFIER; + entry->entity = NULL; } #define HashSet symbol_table_t @@ -44,10 +45,11 @@ void init_symbol_table_entry(symbol_t *entry, const char *string) #define KeyType const char * #define ConstKeyType const char * #define GetKey(value) (value)->string -#define InitData(this,value,key) { (value) = (ValueType) obstack_alloc(&symbol_obstack, sizeof(symbol_t)); init_symbol_table_entry((value), key); } +#define InitData(this,value,key) ((void)((value) = (ValueType)obstack_alloc(&symbol_obstack, sizeof(symbol_t)), init_symbol_table_entry((value), key))) #define Hash(this, key) hash_string(key) #define KeysEqual(this,key1,key2) (strcmp(key1, key2) == 0) #define SetRangeEmpty(ptr,size) memset(ptr, 0, (size) * sizeof(symbol_table_hash_entry_t)) +#define SCALAR_RETURN #define hashset_init _symbol_table_init #define hashset_init_size _symbol_table_init_size