Minor changes. Includes no$gmb sym name limit.
[fw/sdcc] / src / SDCCsymt.h
index 517c49e7735788c4e0e01533cf0f22ebc9e2ed0c..504609c652cdcfdf4cb24684d2eefc8a4d0f6a34 100644 (file)
@@ -101,6 +101,7 @@ typedef struct specifier {
     unsigned   _typedef :1  ;  /* is typedefed               */
     unsigned   _isregparm:1 ;  /* is the first parameter     */
     unsigned   _isenum   :1 ;  /* is an enumerated type      */
+    unsigned    banked   :1      ;  /* function has banked attribute */
     unsigned   _IntNo       ;  /* 1=Interrupt svc routine    */
     short      _regbank     ;  /* register bank 2b used      */
     unsigned   _addr        ;  /* address of symbol          */
@@ -278,6 +279,7 @@ typedef struct symbol {
 #define SPEC_STRUCT(x) x->select.s.v_struct
 #define SPEC_TYPEDEF(x) x->select.s._typedef
 #define SPEC_REGPARM(x) x->select.s._isregparm
+#define SPEC_BANKED(x) x->select.s.banked
 
 /* type check macros */
 #define IS_DECL(x)   ( x && x->class == DECLARATOR     )
@@ -324,6 +326,7 @@ typedef struct symbol {
 #define IS_LITERAL(x)   (IS_SPEC(x)  && x->select.s.sclass == S_LITERAL)
 #define IS_ISR(x)              (IS_SPEC(x)  && SPEC_INTRTN(x))
 #define IS_REGPARM(x)   (IS_SPEC(x) && SPEC_REGPARM(x))
+#define IS_BANKED(x)   (IS_SPEC(x) && SPEC_BANKED(x))
 
 /* forward declaration for the global vars */
 extern bucket *SymbolTab[] ;