* Changed banked for nonbanked
[fw/sdcc] / src / SDCCsymt.h
index 504609c652cdcfdf4cb24684d2eefc8a4d0f6a34..edcb02cf2ef7afaf08efa89ad61d9b0bd5110d5d 100644 (file)
@@ -101,7 +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    nonbanked   :1  ;  /* function has the nonbanked attribute */
     unsigned   _IntNo       ;  /* 1=Interrupt svc routine    */
     short      _regbank     ;  /* register bank 2b used      */
     unsigned   _addr        ;  /* address of symbol          */
@@ -279,7 +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
+#define SPEC_NONBANKED(x) x->select.s.nonbanked
 
 /* type check macros */
 #define IS_DECL(x)   ( x && x->class == DECLARATOR     )
@@ -326,7 +326,9 @@ 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))
+#define IS_NONBANKED(x)   (IS_SPEC(x) && SPEC_NONBANKED(x))
+/* Note that !IS_BANKED is not IS_NONBANKED */
+#define IS_BANKED(x)   (IS_SPEC(x) && !SPEC_NONBANKED(x) && !SPEC_STAT(x))
 
 /* forward declaration for the global vars */
 extern bucket *SymbolTab[] ;