mirror of
https://github.com/cc65/cc65.git
synced 2024-07-07 19:29:18 +00:00
Parse #pragma align() (does nothing currently).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5082 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
parent
f36f6922f2
commit
fea0ac67c3
@ -6,7 +6,7 @@
|
|||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 1998-2010, Ullrich von Bassewitz */
|
/* (C) 1998-2011, Ullrich von Bassewitz */
|
||||||
/* Roemerstrasse 52 */
|
/* Roemerstrasse 52 */
|
||||||
/* D-70794 Filderstadt */
|
/* D-70794 Filderstadt */
|
||||||
/* EMail: uz@cc65.org */
|
/* EMail: uz@cc65.org */
|
||||||
@ -60,6 +60,7 @@ IntStack SignedChars = INTSTACK(0); /* Make characters signed by default
|
|||||||
IntStack CheckStack = INTSTACK(0); /* Generate stack overflow checks */
|
IntStack CheckStack = INTSTACK(0); /* Generate stack overflow checks */
|
||||||
IntStack Optimize = INTSTACK(0); /* Optimize flag */
|
IntStack Optimize = INTSTACK(0); /* Optimize flag */
|
||||||
IntStack CodeSizeFactor = INTSTACK(100);/* Size factor for generated code */
|
IntStack CodeSizeFactor = INTSTACK(100);/* Size factor for generated code */
|
||||||
|
IntStack DataAlignment = INTSTACK(1); /* Alignment for data */
|
||||||
|
|
||||||
/* File names */
|
/* File names */
|
||||||
StrBuf DepName = STATIC_STRBUF_INITIALIZER; /* Name of dependencies file */
|
StrBuf DepName = STATIC_STRBUF_INITIALIZER; /* Name of dependencies file */
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 1998-2010, Ullrich von Bassewitz */
|
/* (C) 1998-2011, Ullrich von Bassewitz */
|
||||||
/* Roemerstrasse 52 */
|
/* Roemerstrasse 52 */
|
||||||
/* D-70794 Filderstadt */
|
/* D-70794 Filderstadt */
|
||||||
/* EMail: uz@cc65.org */
|
/* EMail: uz@cc65.org */
|
||||||
@ -68,6 +68,7 @@ extern IntStack SignedChars; /* Make characters signed by default */
|
|||||||
extern IntStack CheckStack; /* Generate stack overflow checks */
|
extern IntStack CheckStack; /* Generate stack overflow checks */
|
||||||
extern IntStack Optimize; /* Optimize flag */
|
extern IntStack Optimize; /* Optimize flag */
|
||||||
extern IntStack CodeSizeFactor; /* Size factor for generated code */
|
extern IntStack CodeSizeFactor; /* Size factor for generated code */
|
||||||
|
extern IntStack DataAlignment; /* Alignment for data */
|
||||||
|
|
||||||
/* File names */
|
/* File names */
|
||||||
extern StrBuf DepName; /* Name of dependencies file */
|
extern StrBuf DepName; /* Name of dependencies file */
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* */
|
/* */
|
||||||
/* (C) 1998-2010, Ullrich von Bassewitz */
|
/* (C) 1998-2011, Ullrich von Bassewitz */
|
||||||
/* Roemerstrasse 52 */
|
/* Roemerstrasse 52 */
|
||||||
/* D-70794 Filderstadt */
|
/* D-70794 Filderstadt */
|
||||||
/* EMail: uz@cc65.org */
|
/* EMail: uz@cc65.org */
|
||||||
@ -63,6 +63,7 @@
|
|||||||
/* Tokens for the #pragmas */
|
/* Tokens for the #pragmas */
|
||||||
typedef enum {
|
typedef enum {
|
||||||
PRAGMA_ILLEGAL = -1,
|
PRAGMA_ILLEGAL = -1,
|
||||||
|
PRAGMA_ALIGN,
|
||||||
PRAGMA_BSS_NAME,
|
PRAGMA_BSS_NAME,
|
||||||
PRAGMA_BSSSEG, /* obsolete */
|
PRAGMA_BSSSEG, /* obsolete */
|
||||||
PRAGMA_CHARMAP,
|
PRAGMA_CHARMAP,
|
||||||
@ -95,6 +96,7 @@ static const struct Pragma {
|
|||||||
const char* Key; /* Keyword */
|
const char* Key; /* Keyword */
|
||||||
pragma_t Tok; /* Token */
|
pragma_t Tok; /* Token */
|
||||||
} Pragmas[PRAGMA_COUNT] = {
|
} Pragmas[PRAGMA_COUNT] = {
|
||||||
|
{ "align", PRAGMA_ALIGN },
|
||||||
{ "bss-name", PRAGMA_BSS_NAME },
|
{ "bss-name", PRAGMA_BSS_NAME },
|
||||||
{ "bssseg", PRAGMA_BSSSEG }, /* obsolete */
|
{ "bssseg", PRAGMA_BSSSEG }, /* obsolete */
|
||||||
{ "charmap", PRAGMA_CHARMAP },
|
{ "charmap", PRAGMA_CHARMAP },
|
||||||
@ -695,6 +697,10 @@ static void ParsePragma (void)
|
|||||||
/* Switch for the different pragmas */
|
/* Switch for the different pragmas */
|
||||||
switch (Pragma) {
|
switch (Pragma) {
|
||||||
|
|
||||||
|
case PRAGMA_ALIGN:
|
||||||
|
IntPragma (&B, &DataAlignment, 1, 4096);
|
||||||
|
break;
|
||||||
|
|
||||||
case PRAGMA_BSSSEG:
|
case PRAGMA_BSSSEG:
|
||||||
Warning ("#pragma bssseg is obsolete, please use #pragma bss-name instead");
|
Warning ("#pragma bssseg is obsolete, please use #pragma bss-name instead");
|
||||||
/* FALLTHROUGH */
|
/* FALLTHROUGH */
|
||||||
|
Loading…
Reference in New Issue
Block a user