* as/mcs51/aslink.h: completed lkrloc.c prototypes
authormaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 23 Aug 2005 18:59:52 +0000 (18:59 +0000)
committermaartenbrock <maartenbrock@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 23 Aug 2005 18:59:52 +0000 (18:59 +0000)
* as/mcs51/lkmain.c (link_main): fixed warning
* device/include/stdbool.h: ds390 has no advanced bit support yet
* src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
* src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
* src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
  and updated their macros
* src/SDCCval.c (constVal): updated comment for renamed b_long

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@3874 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
as/mcs51/aslink.h
as/mcs51/lkmain.c
device/include/stdbool.h
src/SDCC.y
src/SDCCsymt.c
src/SDCCsymt.h
src/SDCCval.c

index d740f85fa52888b5b2497d5a612cd3a5b0c1b741..66aedfe7b1206b0f9564a8f47767f357bd01f73d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,14 @@
+2005-08-23 Maarten Brock <sourceforge.brock AT dse.nl>
+
+       * as/mcs51/aslink.h: completed lkrloc.c prototypes
+       * as/mcs51/lkmain.c (link_main): fixed warning
+       * device/include/stdbool.h: ds390 has no advanced bit support yet
+       * src/SDCC.y: use SPEC_SHORT and renamed _signed to b_signed
+       * src/SDCCsymt.c: use SPEC_SHORT and renamed _signed to b_signed
+       * src/SDCCsymt.h (struct specifier): renamed _xxx bitfields to b_xxx
+         and updated their macros
+       * src/SDCCval.c (constVal): updated comment for renamed b_long
+
 2005-08-22 Maarten Brock <sourceforge.brock AT dse.nl>
 
        * as/mcs51/asdata.c: changed ctype['['] to BINOP
index 79a84969e0e0e3382dc57801f66d15cb57560237..1833938ea856895e7791469bd37033ce620567b4 100644 (file)
@@ -730,30 +730,30 @@ extern  VOID            newpag();
 extern  VOID            slew();
 
 /* lkrloc.c */
-extern  Addr_T          adb_b();
-extern  Addr_T          adb_bit();
-extern  Addr_T          adb_hi();
-extern  Addr_T          adb_lo();
-extern  Addr_T          adb_24_bit(Addr_T v, int i);
+extern  Addr_T          adb_b(register Addr_T v, register int i);
+extern  Addr_T          adb_bit(register Addr_T v, register int i);
+extern  Addr_T          adb_hi(Addr_T  v, int i);
+extern  Addr_T          adb_lo(Addr_T  v, int i);
+extern  Addr_T          adb_24_bit(register Addr_T v, register int i);
 extern  Addr_T          adb_24_hi(Addr_T v, int i);
 extern  Addr_T          adb_24_mid(Addr_T v, int i);
 extern  Addr_T          adb_24_lo(Addr_T v, int i);
-extern  Addr_T          adw_w();
-extern  Addr_T          adw_24(Addr_T, int);
-extern  Addr_T          adw_hi();
-extern  Addr_T          adw_lo();
-extern  Addr_T          evword();
-extern  VOID            rele();
-extern  VOID            reloc();
-extern  VOID            relt();
-extern  VOID            relr();
-extern  VOID            relp();
-extern  VOID            relerr();
+extern  Addr_T          adw_w(register Addr_T v, register int i);
+extern  Addr_T          adw_24(Addr_T v, int i);
+extern  Addr_T          adw_hi(Addr_T  v, int i);
+extern  Addr_T          adw_lo(Addr_T  v, int i);
+extern  Addr_T          evword(VOID);
+extern  VOID            rele(VOID);
+extern  VOID            reloc(char c);
+extern  VOID            relt(VOID);
+extern  VOID            relr(VOID);
+extern  VOID            relp(VOID);
+extern  VOID            relerr(char *str);
 extern  char *          errmsg[];
-extern  VOID            errdmp();
-extern  VOID            relerp();
-extern  VOID            erpdmp();
-extern  VOID            prntval();
+extern  VOID            errdmp(FILE *fptr, char *str);
+extern  VOID            relerp(char *str);
+extern  VOID            erpdmp(FILE *fptr, char *str);
+extern  VOID            prntval(FILE *fptr, Addr_T v);
 extern  int             lastExtendedAddress;
 
 /* lklibr.c */
index f7d1537f4aa643b2b78b644c3ffc9d0736b74fb9..0e96f0957989cced60c60a7fc61f9dd31de48509 100644 (file)
@@ -509,7 +509,7 @@ lkexit(int i)
 VOID
 link_main()
 {
-    register int c;
+    register char c;
 
     if ((c=endline()) == 0) { return; }
     switch (c) {
index 2bf0be28fe0ae2ef66aee2df9bb52efbe2b9415f..ea6832168091e07fc90b14d837136183d0ef643c 100644 (file)
@@ -28,7 +28,7 @@
 #define false 0
 #define __bool_true_false_are_defined 1
 
-#if defined (SDCC_hc08) || defined (SDCC_z80) || defined (SDCC_gbz80)
+#if defined (SDCC_ds390) || defined (SDCC_hc08) || defined (SDCC_z80) || defined (SDCC_gbz80)
  #define BOOL char
 #else
  #define BOOL __bit
index 17dacb5dcf983d4f9dcac95417b504b1497d0c16..6d8229feb5f4fb8e6531aa5a43bb167fcbf8e40b 100644 (file)
@@ -602,59 +602,59 @@ type_specifier
    ;
 
 type_specifier2
-   : CHAR   {
-               $$=newLink(SPECIFIER);
-               SPEC_NOUN($$) = V_CHAR  ;
-              ignoreTypedefType = 1;
-            }
-   | SHORT  {
-               $$=newLink(SPECIFIER);
-              $$->select.s._short = 1 ;
-              ignoreTypedefType = 1;
-            }
-   | INT    {
-               $$=newLink(SPECIFIER);
-               SPEC_NOUN($$) = V_INT   ;
-              ignoreTypedefType = 1;
-            }
-   | LONG   {
-               $$=newLink(SPECIFIER);
-              SPEC_LONG($$) = 1       ;
-              ignoreTypedefType = 1;
-            }
-   | SIGNED {
-               $$=newLink(SPECIFIER);
-               $$->select.s._signed = 1;
-              ignoreTypedefType = 1;
-            }
+   : CHAR      {
+                  $$=newLink(SPECIFIER);
+                  SPEC_NOUN($$) = V_CHAR  ;
+                  ignoreTypedefType = 1;
+               }
+   | SHORT     {
+                  $$=newLink(SPECIFIER);
+                  SPEC_SHORT($$) = 1 ;
+                  ignoreTypedefType = 1;
+               }
+   | INT       {
+                  $$=newLink(SPECIFIER);
+                  SPEC_NOUN($$) = V_INT   ;
+                  ignoreTypedefType = 1;
+               }
+   | LONG      {
+                  $$=newLink(SPECIFIER);
+                  SPEC_LONG($$) = 1       ;
+                  ignoreTypedefType = 1;
+               }
+   | SIGNED    {
+                  $$=newLink(SPECIFIER);
+                  $$->select.s.b_signed = 1;
+                  ignoreTypedefType = 1;
+               }
    | UNSIGNED  {
-               $$=newLink(SPECIFIER);
-               SPEC_USIGN($$) = 1      ;
-              ignoreTypedefType = 1;
-            }
-   | VOID   {
-               $$=newLink(SPECIFIER);
-               SPEC_NOUN($$) = V_VOID  ;
-              ignoreTypedefType = 1;
-            }
-   | CONST  {
-               $$=newLink(SPECIFIER);
-              SPEC_CONST($$) = 1;
-            }
+                  $$=newLink(SPECIFIER);
+                  SPEC_USIGN($$) = 1      ;
+                  ignoreTypedefType = 1;
+               }
+   | VOID      {
+                  $$=newLink(SPECIFIER);
+                  SPEC_NOUN($$) = V_VOID  ;
+                  ignoreTypedefType = 1;
+               }
+   | CONST     {
+                  $$=newLink(SPECIFIER);
+                  SPEC_CONST($$) = 1;
+               }
    | VOLATILE  {
-               $$=newLink(SPECIFIER);
-              SPEC_VOLATILE($$) = 1 ;
-            }
-   | FLOAT  {
-               $$=newLink(SPECIFIER);
-              SPEC_NOUN($$) = V_FLOAT;
-              ignoreTypedefType = 1;
-            }
-   | FIXED16X16  {
-               $$=newLink(SPECIFIER);
-              SPEC_NOUN($$) = V_FIXED16X16;
-              ignoreTypedefType = 1;
-            }
+                  $$=newLink(SPECIFIER);
+                  SPEC_VOLATILE($$) = 1 ;
+               }
+   | FLOAT     {
+                  $$=newLink(SPECIFIER);
+                  SPEC_NOUN($$) = V_FLOAT;
+                  ignoreTypedefType = 1;
+               }
+   | FIXED16X16 {
+                  $$=newLink(SPECIFIER);
+                  SPEC_NOUN($$) = V_FIXED16X16;
+                  ignoreTypedefType = 1;
+               }
    | XDATA     {
                   $$ = newLink (SPECIFIER);
                   SPEC_SCLS($$) = S_XDATA  ;
@@ -663,7 +663,7 @@ type_specifier2
                   $$ = newLink (SPECIFIER) ;
                   SPEC_SCLS($$) = S_CODE ;                 
                }
-   | EEPROM      {
+   | EEPROM    {
                   $$ = newLink (SPECIFIER) ;
                   SPEC_SCLS($$) = S_EEPROM ;
                }
@@ -679,19 +679,19 @@ type_specifier2
                   $$ = newLink (SPECIFIER);
                   SPEC_SCLS($$) = S_PDATA  ;
                }
-   | BIT    {
-               $$=newLink(SPECIFIER);
-               SPEC_NOUN($$) = V_BIT   ;
-              SPEC_SCLS($$) = S_BIT   ;
-              SPEC_BLEN($$) = 1;
-              SPEC_BSTR($$) = 0;
-              ignoreTypedefType = 1;
-            }
+   | BIT       {
+                  $$=newLink(SPECIFIER);
+                  SPEC_NOUN($$) = V_BIT   ;
+                  SPEC_SCLS($$) = S_BIT   ;
+                  SPEC_BLEN($$) = 1;
+                  SPEC_BSTR($$) = 0;
+                  ignoreTypedefType = 1;
+               }
 
    | struct_or_union_specifier  {
                                    uselessDecl = FALSE;
                                    $$ = $1 ;
-                                  ignoreTypedefType = 1;
+                                   ignoreTypedefType = 1;
                                 }
    | enum_specifier     {                           
                            cenum = NULL ;
@@ -705,7 +705,7 @@ type_specifier2
             sym_link   *p  ;
             sym = findSym(TypedefTab,NULL,$1) ;
             $$ = p = copyLinkChain(sym->type);
-           SPEC_TYPEDEF(getSpec(p)) = 0;
+            SPEC_TYPEDEF(getSpec(p)) = 0;
             ignoreTypedefType = 1;
          }
    | sfr_reg_bit
@@ -716,9 +716,9 @@ sfr_reg_bit
                $$ = newLink(SPECIFIER) ;
                SPEC_NOUN($$) = V_SBIT;
                SPEC_SCLS($$) = S_SBIT;
-              SPEC_BLEN($$) = 1;
-              SPEC_BSTR($$) = 0;
-              ignoreTypedefType = 1;
+               SPEC_BLEN($$) = 1;
+               SPEC_BSTR($$) = 0;
+               ignoreTypedefType = 1;
             }
    |  sfr_attributes
    ;
@@ -730,7 +730,7 @@ sfr_attributes
                SPEC_NOUN($$)    = V_CHAR;
                SPEC_SCLS($$)    = S_SFR ;
                SPEC_USIGN($$)   = 1 ;
-              ignoreTypedefType = 1;
+               ignoreTypedefType = 1;
             }
    | SFR BANKED {
                $$ = newLink(SPECIFIER) ;
@@ -738,7 +738,7 @@ sfr_attributes
                SPEC_NOUN($$)    = V_CHAR;
                SPEC_SCLS($$)    = S_SFR ;
                SPEC_USIGN($$)   = 1 ;
-              ignoreTypedefType = 1;
+               ignoreTypedefType = 1;
             }
    ;
 
index 73f36ab07f6e02919a18f1539aa8fbe9fa3fe2af..c1bdae25ea296d09230145938c6e19770ee8b39a 100644 (file)
@@ -43,7 +43,7 @@ char *nounName(sym_link *sl) {
     {
     case V_INT: {
       if (SPEC_LONG(sl)) return "long";
-      if (sl->select.s._short) return "short";
+      if (SPEC_SHORT(sl)) return "short";
       return "int";
     }
     case V_FLOAT: return "float";
@@ -545,7 +545,7 @@ void checkTypeSanity(sym_link *etype, char *name) {
        SPEC_NOUN(etype)==V_FIXED16X16 ||
        SPEC_NOUN(etype)==V_DOUBLE || 
        SPEC_NOUN(etype)==V_VOID) &&
-      (etype->select.s._short || SPEC_LONG(etype))) {
+      (SPEC_SHORT(etype) || SPEC_LONG(etype))) {
     // long or short for char float double or void
     werror (E_LONG_OR_SHORT_INVALID, noun, name);
   }
@@ -553,15 +553,15 @@ void checkTypeSanity(sym_link *etype, char *name) {
        SPEC_NOUN(etype)==V_FIXED16X16 ||
        SPEC_NOUN(etype)==V_DOUBLE || 
        SPEC_NOUN(etype)==V_VOID) && 
-      (etype->select.s._signed || SPEC_USIGN(etype))) {
+      (etype->select.s.b_signed || SPEC_USIGN(etype))) {
     // signed or unsigned for float double or void
     werror (E_SIGNED_OR_UNSIGNED_INVALID, noun, name);
   }
 
   // special case for "short"
-  if (etype->select.s._short) {
+  if (SPEC_SHORT(etype)) {
     SPEC_NOUN(etype) = options.shortis8bits ? V_CHAR : V_INT;
-    etype->select.s._short = 0;
+    SPEC_SHORT(etype) = 0;
   }
 
   /* if no noun e.g. 
@@ -575,15 +575,15 @@ void checkTypeSanity(sym_link *etype, char *name) {
   /* a "plain" int bitfield is unsigned */
   if (SPEC_NOUN(etype)==V_BIT ||
       SPEC_NOUN(etype)==V_SBIT) {
-    if (!etype->select.s._signed)
+    if (!etype->select.s.b_signed)
       SPEC_USIGN(etype) = 1;
   }
 
-  if (etype->select.s._signed && SPEC_USIGN(etype)) {
+  if (etype->select.s.b_signed && SPEC_USIGN(etype)) {
     // signed AND unsigned 
     werror (E_SIGNED_AND_UNSIGNED_INVALID, noun, name);
   }
-  if (etype->select.s._short && SPEC_LONG(etype)) {
+  if (SPEC_SHORT(etype) && SPEC_LONG(etype)) {
     // short AND long
     werror (E_LONG_AND_SHORT_INVALID, noun, name);
   }
@@ -645,9 +645,9 @@ mergeSpec (sym_link * dest, sym_link * src, char *name)
   // but there are more important thing right now
 
   SPEC_LONG (dest) |= SPEC_LONG (src);
-  dest->select.s._short|=src->select.s._short;
+  SPEC_SHORT(dest) |= SPEC_SHORT(src);
   SPEC_USIGN (dest) |= SPEC_USIGN (src);
-  dest->select.s._signed|=src->select.s._signed;
+  dest->select.s.b_signed|=src->select.s.b_signed;
   SPEC_STAT (dest) |= SPEC_STAT (src);
   SPEC_EXTR (dest) |= SPEC_EXTR (src);
   SPEC_CONST(dest) |= SPEC_CONST (src);
@@ -1814,7 +1814,7 @@ computeType (sym_link * type1, sym_link * type2,
   reType = getSpec (rType);
 
   /* avoid conflicting types */
-  reType->select.s._signed = 0;
+  reType->select.s.b_signed = 0;
 
   /* if result is a literal then make not so */
   if (IS_LITERAL (reType))
index 7e4a400edbdc45eea6658e8fac0287c2ca8f246e..c9668d2d28192d9e9daeafab1084d07cd73658a9 100644 (file)
@@ -133,18 +133,18 @@ typedef struct specifier
     NOUN noun;                          /* CHAR INT STRUCTURE LABEL   */
     STORAGE_CLASS sclass;               /* REGISTER,AUTO,FIX,CONSTANT */
     struct memmap *oclass;              /* output storage class       */
-    unsigned _long:1;                   /* 1=long                     */
-    unsigned _short:1;                  /* 1=short int                */
-    unsigned _unsigned:1;               /* 1=unsigned, 0=signed       */
-    unsigned _signed:1;                 /* just for sanity checks only*/
-    unsigned _static:1;                 /* 1=static keyword found     */
-    unsigned _extern:1;                 /* 1=extern found             */
-    unsigned _absadr:1;                 /* absolute address specfied  */
-    unsigned _volatile:1;               /* is marked as volatile      */
-    unsigned _const:1;                  /* is a constant              */
-    unsigned _typedef:1;                /* is typedefed               */
-    unsigned _isregparm:1;              /* is the first parameter     */
-    unsigned _isenum:1;                 /* is an enumerated type      */
+    unsigned b_long:1;                  /* 1=long                     */
+    unsigned b_short:1;                 /* 1=short int                */
+    unsigned b_unsigned:1;              /* 1=unsigned, 0=signed       */
+    unsigned b_signed:1;                /* just for sanity checks only*/
+    unsigned b_static:1;                /* 1=static keyword found     */
+    unsigned b_extern:1;                /* 1=extern found             */
+    unsigned b_absadr:1;                /* absolute address specfied  */
+    unsigned b_volatile:1;              /* is marked as volatile      */
+    unsigned b_const:1;                 /* is a constant              */
+    unsigned b_typedef:1;               /* is typedefed               */
+    unsigned b_isregparm:1;             /* is the first parameter     */
+    unsigned b_isenum:1;                /* is an enumerated type      */
     unsigned _addr;                     /* address of symbol          */
     unsigned _stack;                    /* stack offset for stacked v */
     unsigned _bitStart;                 /* bit start position         */
@@ -389,16 +389,16 @@ extern sym_link *validateLink(sym_link  *l,
   IFFUNC_BANKED(x)))
 
 #define SPEC_NOUN(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.noun
-#define SPEC_LONG(x) validateLink(x, "SPEC_LONG", #x, SPECIFIER, __FILE__, __LINE__)->select.s._long
-#define SPEC_SHORT(x) validateLink(x, "SPEC_LONG", #x, SPECIFIER, __FILE__, __LINE__)->select.s._short
-#define SPEC_USIGN(x) validateLink(x, "SPEC_USIGN", #x, SPECIFIER, __FILE__, __LINE__)->select.s._unsigned
+#define SPEC_LONG(x) validateLink(x, "SPEC_LONG", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_long
+#define SPEC_SHORT(x) validateLink(x, "SPEC_LONG", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_short
+#define SPEC_USIGN(x) validateLink(x, "SPEC_USIGN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_unsigned
 #define SPEC_SCLS(x) validateLink(x, "SPEC_SCLS", #x, SPECIFIER, __FILE__, __LINE__)->select.s.sclass
-#define SPEC_ENUM(x) validateLink(x, "SPEC_ENUM", #x, SPECIFIER, __FILE__, __LINE__)->select.s._isenum
+#define SPEC_ENUM(x) validateLink(x, "SPEC_ENUM", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_isenum
 #define SPEC_OCLS(x) validateLink(x, "SPEC_OCLS", #x, SPECIFIER, __FILE__, __LINE__)->select.s.oclass
-#define SPEC_STAT(x) validateLink(x, "SPEC_STAT", #x, SPECIFIER, __FILE__, __LINE__)->select.s._static
-#define SPEC_EXTR(x) validateLink(x, "SPEC_EXTR", #x, SPECIFIER, __FILE__, __LINE__)->select.s._extern
+#define SPEC_STAT(x) validateLink(x, "SPEC_STAT", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_static
+#define SPEC_EXTR(x) validateLink(x, "SPEC_EXTR", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_extern
 #define SPEC_CODE(x) validateLink(x, "SPEC_CODE", #x, SPECIFIER, __FILE__, __LINE__)->select.s._codesg
-#define SPEC_ABSA(x) validateLink(x, "SPEC_ABSA", #x, SPECIFIER, __FILE__, __LINE__)->select.s._absadr
+#define SPEC_ABSA(x) validateLink(x, "SPEC_ABSA", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_absadr
 #define SPEC_BANK(x) validateLink(x, "SPEC_BANK", #x, SPECIFIER, __FILE__, __LINE__)->select.s._regbank
 #define SPEC_ADDR(x) validateLink(x, "SPEC_ADDR", #x, SPECIFIER, __FILE__, __LINE__)->select.s._addr
 #define SPEC_STAK(x) validateLink(x, "SPEC_STAK", #x, SPECIFIER, __FILE__, __LINE__)->select.s._stack
@@ -412,11 +412,11 @@ extern sym_link *validateLink(sym_link  *l,
  * _bitStart field instead of defining a new field.
  */
 #define SPEC_ISR_SAVED_BANKS(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s._bitStart
-#define SPEC_VOLATILE(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s._volatile
-#define SPEC_CONST(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s._const
+#define SPEC_VOLATILE(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_volatile
+#define SPEC_CONST(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_const
 #define SPEC_STRUCT(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.v_struct
-#define SPEC_TYPEDEF(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s._typedef
-#define SPEC_REGPARM(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s._isregparm
+#define SPEC_TYPEDEF(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_typedef
+#define SPEC_REGPARM(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.b_isregparm
 #define SPEC_ARGREG(x) validateLink(x, "SPEC_NOUN", #x, SPECIFIER, __FILE__, __LINE__)->select.s.argreg
 
 /* type check macros */
@@ -438,25 +438,25 @@ extern sym_link *validateLink(sym_link  *l,
 #define IS_GENPTR(x) (IS_DECL(x) && DCL_TYPE(x) == GPOINTER)
 #define IS_FUNCPTR(x) (IS_DECL(x) && (DCL_TYPE(x) == CPOINTER || DCL_TYPE(x) == GPOINTER) && IS_FUNC(x->next))
 #define IS_FUNC(x)   (IS_DECL(x) && DCL_TYPE(x) == FUNCTION)
-#define IS_LONG(x)   (IS_SPEC(x) && x->select.s._long)
-#define IS_UNSIGNED(x) (IS_SPEC(x) && x->select.s._unsigned)
-#define IS_TYPEDEF(x)(IS_SPEC(x) && x->select.s._typedef)
+#define IS_LONG(x)   (IS_SPEC(x) && x->select.s.b_long)
+#define IS_UNSIGNED(x) (IS_SPEC(x) && x->select.s.b_unsigned)
+#define IS_TYPEDEF(x)(IS_SPEC(x) && x->select.s.b_typedef)
 #define IS_CONSTANT(x)  (!x ? 0 : \
                            IS_SPEC(x) ? \
-                           x->select.s._const : \
+                           x->select.s.b_const : \
                            x->select.d.ptr_const)
 #define IS_STRUCT(x) (IS_SPEC(x) && x->select.s.noun == V_STRUCT)
-#define IS_ABSOLUTE(x)  (IS_SPEC(x) && x->select.s._absadr )
+#define IS_ABSOLUTE(x)  (IS_SPEC(x) && x->select.s.b_absadr )
 #define IS_REGISTER(x)  (IS_SPEC(x) && SPEC_SCLS(x) == S_REGISTER)
 #define IS_RENT(x)   (IS_SPEC(x) && x->select.s._reent )
 #define IS_STATIC(x) (IS_SPEC(x) && SPEC_STAT(x))
 #define IS_INT(x)    (IS_SPEC(x) && x->select.s.noun == V_INT)
 #define IS_VOID(x)   (IS_SPEC(x) && x->select.s.noun == V_VOID)
 #define IS_CHAR(x)   (IS_SPEC(x) && x->select.s.noun == V_CHAR)
-#define IS_EXTERN(x)    (IS_SPEC(x) && x->select.s._extern)
+#define IS_EXTERN(x)    (IS_SPEC(x) && x->select.s.b_extern)
 #define IS_VOLATILE(x)  (!x ? 0 : \
                            IS_SPEC(x) ? \
-                           x->select.s._volatile : \
+                           x->select.s.b_volatile : \
                            x->select.d.ptr_volatile)
 #define IS_INTEGRAL(x) (IS_SPEC(x) && (x->select.s.noun == V_INT ||  \
                                        x->select.s.noun == V_CHAR || \
index 6f7ffaf73db232a8c872db109129e4713f2292ee..0cc9d811f7506eabbdd694b1569065c5991f7232 100644 (file)
@@ -532,7 +532,7 @@ value *constVal (char *s)
   }
 
   /* Setup the flags first */
-  /* set the _long flag if 'lL' is found */
+  /* set the b_long flag if 'lL' is found */
   if (strchr (s, 'l') || strchr (s, 'L')) {
     SPEC_NOUN (val->type) = V_INT;
     SPEC_LONG (val->type) = 1;