mirror of
https://github.com/cc65/cc65.git
synced 2025-04-05 13:37:17 +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 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
@ -60,7 +60,8 @@ IntStack SignedChars = INTSTACK(0); /* Make characters signed by default
|
||||
IntStack CheckStack = INTSTACK(0); /* Generate stack overflow checks */
|
||||
IntStack Optimize = INTSTACK(0); /* Optimize flag */
|
||||
IntStack CodeSizeFactor = INTSTACK(100);/* Size factor for generated code */
|
||||
|
||||
IntStack DataAlignment = INTSTACK(1); /* Alignment for data */
|
||||
|
||||
/* File names */
|
||||
StrBuf DepName = STATIC_STRBUF_INITIALIZER; /* Name of dependencies file */
|
||||
StrBuf FullDepName = STATIC_STRBUF_INITIALIZER; /* Name of full dependencies file */
|
||||
|
@ -6,7 +6,7 @@
|
||||
/* */
|
||||
/* */
|
||||
/* */
|
||||
/* (C) 1998-2010, Ullrich von Bassewitz */
|
||||
/* (C) 1998-2011, Ullrich von Bassewitz */
|
||||
/* Roemerstrasse 52 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* 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 Optimize; /* Optimize flag */
|
||||
extern IntStack CodeSizeFactor; /* Size factor for generated code */
|
||||
extern IntStack DataAlignment; /* Alignment for data */
|
||||
|
||||
/* File names */
|
||||
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 */
|
||||
/* D-70794 Filderstadt */
|
||||
/* EMail: uz@cc65.org */
|
||||
@ -63,6 +63,7 @@
|
||||
/* Tokens for the #pragmas */
|
||||
typedef enum {
|
||||
PRAGMA_ILLEGAL = -1,
|
||||
PRAGMA_ALIGN,
|
||||
PRAGMA_BSS_NAME,
|
||||
PRAGMA_BSSSEG, /* obsolete */
|
||||
PRAGMA_CHARMAP,
|
||||
@ -95,6 +96,7 @@ static const struct Pragma {
|
||||
const char* Key; /* Keyword */
|
||||
pragma_t Tok; /* Token */
|
||||
} Pragmas[PRAGMA_COUNT] = {
|
||||
{ "align", PRAGMA_ALIGN },
|
||||
{ "bss-name", PRAGMA_BSS_NAME },
|
||||
{ "bssseg", PRAGMA_BSSSEG }, /* obsolete */
|
||||
{ "charmap", PRAGMA_CHARMAP },
|
||||
@ -695,6 +697,10 @@ static void ParsePragma (void)
|
||||
/* Switch for the different pragmas */
|
||||
switch (Pragma) {
|
||||
|
||||
case PRAGMA_ALIGN:
|
||||
IntPragma (&B, &DataAlignment, 1, 4096);
|
||||
break;
|
||||
|
||||
case PRAGMA_BSSSEG:
|
||||
Warning ("#pragma bssseg is obsolete, please use #pragma bss-name instead");
|
||||
/* FALLTHROUGH */
|
||||
|
Loading…
x
Reference in New Issue
Block a user