X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCsymt.h;h=7033b2cdfde01f98a706637328c0a6a23c43dfaa;hb=a5fa21b3861557338d6c86d37992b018c582b449;hp=6e152266503a438e685d2d818b72d672773e2f85;hpb=f4cfabdb276af4ef7328e82d6b184f6dfba0c16d;p=fw%2Fsdcc diff --git a/src/SDCCsymt.h b/src/SDCCsymt.h index 6e152266..7033b2cd 100644 --- a/src/SDCCsymt.h +++ b/src/SDCCsymt.h @@ -73,7 +73,6 @@ typedef enum S_FIXED = 0, S_AUTO, S_REGISTER, - S_CONSTANT, S_SFR, S_SBIT, S_CODE, @@ -279,9 +278,7 @@ symbol; #define DCL_TSPEC(l) l->select.d.tspec #define SPEC_NOUN(x) x->select.s.noun #define SPEC_LONG(x) x->select.s._long -#define SPEC_SHORT(x) x->select.s._short #define SPEC_USIGN(x) x->select.s._unsigned -#define SPEC_SIGNED(x) x->select.s._signed #define SPEC_SCLS(x) x->select.s.sclass #define SPEC_ENUM(x) x->select.s._isenum #define SPEC_OCLS(x) x->select.s.oclass @@ -334,7 +331,6 @@ symbol; #define IS_GENPTR(x) (IS_DECL(x) && DCL_TYPE(x) == GPOINTER) #define IS_FUNC(x) (IS_DECL(x) && DCL_TYPE(x) == FUNCTION) #define IS_LONG(x) (IS_SPEC(x) && x->select.s._long) -#define IS_SHORT(x) (IS_SPEC(x) && x->select.s._short) #define IS_TYPEDEF(x)(IS_SPEC(x) && x->select.s._typedef) #define IS_CONSTANT(x) (IS_SPEC(x) && ( x->select.s._const == 1)) #define IS_STRUCT(x) (IS_SPEC(x) && x->select.s.noun == V_STRUCT) @@ -407,7 +403,7 @@ sym_link *newLink (); sym_link *newFloatLink (); structdef *newStruct (char *); void addDecl (symbol *, int, sym_link *); -sym_link *mergeSpec (sym_link *, sym_link *); +sym_link *mergeSpec (sym_link *, sym_link *, char *name); sym_link *cloneSpec (sym_link *); symbol *reverseSyms (symbol *); sym_link *reverseLink (sym_link *); @@ -431,7 +427,7 @@ unsigned int bitsForType (sym_link *); sym_link *newIntLink (); sym_link *newCharLink (); sym_link *newLongLink (); -int checkType (sym_link *, sym_link *); +int compareType (sym_link *, sym_link *); int checkFunction (symbol *); void cleanUpLevel (bucket **, int); void cleanUpBlock (bucket **, int); @@ -451,13 +447,14 @@ void cdbSymbol (symbol *, FILE *, int, int); void cdbStructBlock (int, FILE *); void initHashT (); bucket *newBucket (); -void addSym (bucket **, void *, char *, int, int); +void addSym (bucket **, void *, char *, int, int, int checkType); void deleteSym (bucket **, void *, char *); void *findSym (bucket **, void *, const char *); void *findSymWithLevel (bucket **, struct symbol *); void *findSymWithBlock (bucket **, struct symbol *, int); void changePointer (symbol * sym); - -#include "SDCCmem.h" +void checkTypeSanity(sym_link *etype, char *name); +/* noun strings */ +extern char *nounName(sym_link *); #endif