projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Initial import
[fw/sdcc]
/
src
/
SDCCsymt.h
diff --git
a/src/SDCCsymt.h
b/src/SDCCsymt.h
index 3c8bf447b7cc153a85b4d282a72e1739e46c21fe..b12b4d3e7281a9fb481d19d5bc344c4fee745941 100644
(file)
--- a/
src/SDCCsymt.h
+++ b/
src/SDCCsymt.h
@@
-42,6
+42,7
@@
enum {
TYPEOF_LONG,
TYPEOF_FLOAT,
TYPEOF_BIT,
TYPEOF_LONG,
TYPEOF_FLOAT,
TYPEOF_BIT,
+ TYPEOF_BITFIELD,
TYPEOF_SBIT,
TYPEOF_SFR,
TYPEOF_VOID,
TYPEOF_SBIT,
TYPEOF_SFR,
TYPEOF_VOID,
@@
-98,6
+99,7
@@
typedef enum
V_STRUCT,
V_LABEL,
V_BIT,
V_STRUCT,
V_LABEL,
V_BIT,
+ V_BITFIELD,
V_SBIT,
V_DOUBLE
}
V_SBIT,
V_DOUBLE
}
@@
-444,10
+446,12
@@
extern sym_link *validateLink(sym_link *l,
x->select.d.ptr_volatile)
#define IS_INTEGRAL(x) (IS_SPEC(x) && (x->select.s.noun == V_INT || \
x->select.s.noun == V_CHAR || \
x->select.d.ptr_volatile)
#define IS_INTEGRAL(x) (IS_SPEC(x) && (x->select.s.noun == V_INT || \
x->select.s.noun == V_CHAR || \
+ x->select.s.noun == V_BITFIELD || \
x->select.s.noun == V_BIT || \
x->select.s.noun == V_SBIT ))
x->select.s.noun == V_BIT || \
x->select.s.noun == V_SBIT ))
-#define IS_BITFIELD(x) (IS_SPEC(x) && (x->select.s.noun == V_BIT))
-#define IS_BITVAR(x) (IS_SPEC(x) && (x->select.s.noun == V_BIT || \
+#define IS_BITFIELD(x) (IS_SPEC(x) && (x->select.s.noun == V_BITFIELD))
+#define IS_BITVAR(x) (IS_SPEC(x) && (x->select.s.noun == V_BITFIELD || \
+ x->select.s.noun == V_BIT || \
x->select.s.noun == V_SBIT ))
#define IS_FLOAT(x) (IS_SPEC(x) && x->select.s.noun == V_FLOAT)
#define IS_ARITHMETIC(x) (IS_INTEGRAL(x) || IS_FLOAT(x))
x->select.s.noun == V_SBIT ))
#define IS_FLOAT(x) (IS_SPEC(x) && x->select.s.noun == V_FLOAT)
#define IS_ARITHMETIC(x) (IS_INTEGRAL(x) || IS_FLOAT(x))
@@
-537,6
+541,7
@@
void processFuncArgs (symbol *);
int isSymbolEqual (symbol *, symbol *);
int powof2 (unsigned long);
void printTypeChain (sym_link *, FILE *);
int isSymbolEqual (symbol *, symbol *);
int powof2 (unsigned long);
void printTypeChain (sym_link *, FILE *);
+void printTypeChainRaw (sym_link *, FILE *);
void initCSupport ();
void initBuiltIns ();
void pointerTypes (sym_link *, sym_link *);
void initCSupport ();
void initBuiltIns ();
void pointerTypes (sym_link *, sym_link *);
@@
-551,6
+556,7
@@
void *findSymWithBlock (bucket **, struct symbol *, int);
void changePointer (symbol * sym);
void checkTypeSanity(sym_link *etype, char *name);
sym_link *typeFromStr (char *) ;
void changePointer (symbol * sym);
void checkTypeSanity(sym_link *etype, char *name);
sym_link *typeFromStr (char *) ;
+STORAGE_CLASS sclsFromPtr(sym_link *ptr);
extern char *nounName(sym_link *); /* noun strings */
extern char *nounName(sym_link *); /* noun strings */