1
0
mirror of https://github.com/cc65/cc65.git synced 2024-10-01 15:54:59 +00:00

Allow to leave of the end address of a range if it is identical to the start

address. Currently unused.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5059 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz 2011-06-13 21:43:26 +00:00
parent 51ccf2d576
commit 244ca4daf7

View File

@ -1733,14 +1733,6 @@ static int ConsumeEqual (InputData* D)
static int ConsumeMinus (InputData* D)
/* Consume a minus sign */
{
return Consume (D, TOK_MINUS, "'-'");
}
static void ConsumeEOL (InputData* D)
/* Consume an end-of-line token, if we aren't at end-of-file */
{
@ -1959,14 +1951,18 @@ static void ParseLine (InputData* D)
}
Start = (cc65_addr) D->IVal;
NextToken (D);
if (!ConsumeMinus (D)) {
goto ErrorExit;
if (D->Tok == TOK_MINUS) {
/* End of range follows */
NextToken (D);
if (!IntConstFollows (D)) {
goto ErrorExit;
}
End = (cc65_addr) D->IVal;
NextToken (D);
} else {
/* Start and end are identical */
End = Start;
}
if (!IntConstFollows (D)) {
goto ErrorExit;
}
End = (cc65_addr) D->IVal;
NextToken (D);
InfoBits |= ibRange;
break;
@ -2237,7 +2233,7 @@ static void ParseSym (InputData* D)
/* Something we know? */
if (D->Tok != TOK_ADDRSIZE && D->Tok != TOK_NAME &&
D->Tok != TOK_SEGMENT && D->Tok != TOK_SIZE &&
D->Tok != TOK_SEGMENT && D->Tok != TOK_SIZE &&
D->Tok != TOK_TYPE && D->Tok != TOK_VALUE) {
/* Try smart error recovery */