]> 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 be74433404db4be3ee13ef280267cbb12cffb3d5..eac2897d9d6bd22237f47998ea181b7802b425b6 100644 (file)
@@ -6,8 +6,8 @@
 /*                                                                           */
 /*                                                                           */
 /*                                                                           */
-/* (C) 1998-2006 Ullrich von Bassewitz                                       */
-/*               Römerstrasse 52                                             */
+/* (C) 1998-2008 Ullrich von Bassewitz                                       */
+/*               Roemerstrasse 52                                            */
 /*               D-70794 Filderstadt                                         */
 /* EMail:        uz@cc65.org                                                 */
 /*                                                                           */
@@ -66,17 +66,20 @@ struct DeclSpec {
 /* Result of ParseDecl */
 typedef struct Declaration Declaration;
 struct Declaration {
-    ident      Ident;                  /* The identifier if any, else empty */
+    unsigned    StorageClass;           /* A set of SC_xxx flags */
     Type       Type[MAXTYPELEN];       /* The type */
+    ident      Ident;                  /* The identifier if any, else empty */
 
     /* Working variables */
     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;
 
 
 
@@ -89,10 +92,10 @@ struct Declaration {
 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);