]> git.sur5r.net Git - cc65/blobdiff - src/cc65/declare.h
Changed names of the pragmas to be identical to the corresponding command line
[cc65] / src / cc65 / declare.h
index 5195456c38f5812692cca947337661cee4ee18e8..eac2897d9d6bd22237f47998ea181b7802b425b6 100644 (file)
@@ -6,8 +6,8 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2003 Ullrich von Bassewitz                                       */
-/*               Römerstrasse 52                                             */
+/* (C) 1998-2008 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
 /*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
 typedef struct DeclSpec DeclSpec;
 struct DeclSpec {
     unsigned   StorageClass;           /* One of the SC_xxx flags      */
-    type       Type [MAXTYPELEN];      /* Type of the declaration spec */
+    Type               Type[MAXTYPELEN];       /* Type of the declaration spec */
     unsigned   Flags;                  /* Bitmapped flags              */
 };
 
 /* Result of ParseDecl */
 typedef struct Declaration Declaration;
 struct Declaration {
+    unsigned    StorageClass;           /* A set of SC_xxx flags */
+    Type       Type[MAXTYPELEN];       /* The type */
     ident      Ident;                  /* The identifier if any, else empty */
-    type       Type [MAXTYPELEN];      /* The type */
 
     /* Working variables */
-    type*      T;                      /* Used to build Type */
+    unsigned   Index;                  /* Used to build Type */
 };
 
 /* Modes for ParseDecl */
-#define DM_NEED_IDENT  0U              /* We must have an identifier */
-#define DM_NO_IDENT    1U              /* We won't read an identifier */
-#define DM_ACCEPT_IDENT        2U              /* We will accept an id if there is one */
+typedef enum {                                                   
+    DM_NEED_IDENT,                      /* We must have an identifier */
+    DM_NO_IDENT,                        /* We won't read an identifier */
+    DM_ACCEPT_IDENT,                    /* We will accept an id if there is one */
+} declmode_t;
 
 
 
@@ -86,13 +89,13 @@ struct Declaration {
 
 
 
-type* ParseType (type* Type);
+Type* ParseType (Type* Type);
 /* Parse a complete type specification */
 
-void ParseDecl (const DeclSpec* Spec, Declaration* D, unsigned Mode);
+void ParseDecl (const DeclSpec* Spec, Declaration* D, declmode_t Mode);
 /* Parse a variable, type or function declaration */
 
-void ParseDeclSpec (DeclSpec* D, unsigned DefStorage, int DefType);
+void ParseDeclSpec (DeclSpec* D, unsigned DefStorage, long DefType);
 /* Parse a declaration specification */
 
 void CheckEmptyDecl (const DeclSpec* D);
@@ -101,8 +104,8 @@ void CheckEmptyDecl (const DeclSpec* D);
  * warning if not.
  */
 
-unsigned ParseInit (type* T);
-/* Parse initialization of variables. Return the number of initialized data 
+unsigned ParseInit (Type* T);
+/* Parse initialization of variables. Return the number of initialized data
  * bytes.
  */