X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=src%2Fcc65%2Fdeclare.h;h=eac2897d9d6bd22237f47998ea181b7802b425b6;hb=ed2767e65f05b853eda1b071938062126de6f517;hp=5195456c38f5812692cca947337661cee4ee18e8;hpb=c123666d24e5dda1e7242b0c31b90c8cea769f82;p=cc65 diff --git a/src/cc65/declare.h b/src/cc65/declare.h index 5195456c3..eac2897d9 100644 --- a/src/cc65/declare.h +++ b/src/cc65/declare.h @@ -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 */ /* */ @@ -59,24 +59,27 @@ 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. */