Fix hex arguments for pragmas
This commit is contained in:
parent
6f7efd9efc
commit
58ffe2ad06
|
@ -11041,6 +11041,10 @@ bool Parser::ConsumeIdentIf(const char* ident)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool Parser::IsIntegerToken(void)
|
||||||
|
{
|
||||||
|
return (mScanner->mToken == TK_INTEGER || mScanner->mToken == TK_INTEGERL || mScanner->mToken == TK_INTEGERU || mScanner->mToken == TK_INTEGERUL);
|
||||||
|
}
|
||||||
|
|
||||||
void Parser::ParsePragma(void)
|
void Parser::ParsePragma(void)
|
||||||
{
|
{
|
||||||
|
@ -11270,7 +11274,7 @@ void Parser::ParsePragma(void)
|
||||||
{
|
{
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
ConsumeToken(TK_OPEN_PARENTHESIS);
|
ConsumeToken(TK_OPEN_PARENTHESIS);
|
||||||
if (mScanner->mToken == TK_INTEGER)
|
if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
mCompilationUnits->mSectionStack->mSize = int(mScanner->mTokenInteger);
|
mCompilationUnits->mSectionStack->mSize = int(mScanner->mTokenInteger);
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
|
@ -11284,7 +11288,7 @@ void Parser::ParsePragma(void)
|
||||||
{
|
{
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
ConsumeToken(TK_OPEN_PARENTHESIS);
|
ConsumeToken(TK_OPEN_PARENTHESIS);
|
||||||
if (mScanner->mToken == TK_INTEGER)
|
if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
mCompilationUnits->mSectionHeap->mSize = int(mScanner->mTokenInteger);
|
mCompilationUnits->mSectionHeap->mSize = int(mScanner->mTokenInteger);
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
|
@ -11298,20 +11302,20 @@ void Parser::ParsePragma(void)
|
||||||
{
|
{
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
ConsumeToken(TK_OPEN_PARENTHESIS);
|
ConsumeToken(TK_OPEN_PARENTHESIS);
|
||||||
if (mScanner->mToken == TK_INTEGER)
|
if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
int cindex = int(mScanner->mTokenInteger);
|
int cindex = int(mScanner->mTokenInteger);
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
ConsumeToken(TK_COMMA);
|
ConsumeToken(TK_COMMA);
|
||||||
|
|
||||||
if (mScanner->mToken == TK_INTEGER)
|
if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
int ccode = int(mScanner->mTokenInteger);
|
int ccode = int(mScanner->mTokenInteger);
|
||||||
int ccount = 1;
|
int ccount = 1;
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
if (ConsumeTokenIf(TK_COMMA))
|
if (ConsumeTokenIf(TK_COMMA))
|
||||||
{
|
{
|
||||||
if (mScanner->mToken == TK_INTEGER)
|
if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
ccount = int(mScanner->mTokenInteger);
|
ccount = int(mScanner->mTokenInteger);
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
|
@ -11760,7 +11764,7 @@ void Parser::ParsePragma(void)
|
||||||
|
|
||||||
mUnrollLoopPage = false;
|
mUnrollLoopPage = false;
|
||||||
|
|
||||||
if (mScanner->mToken == TK_INTEGER)
|
if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
mUnrollLoop = int(mScanner->mTokenInteger);
|
mUnrollLoop = int(mScanner->mTokenInteger);
|
||||||
mScanner->NextToken();
|
mScanner->NextToken();
|
||||||
|
@ -11808,7 +11812,7 @@ void Parser::ParsePragma(void)
|
||||||
else
|
else
|
||||||
mErrors->Error(mScanner->mLocation, ERRR_STACK_OVERFLOW, "Stack underflow");
|
mErrors->Error(mScanner->mLocation, ERRR_STACK_OVERFLOW, "Stack underflow");
|
||||||
}
|
}
|
||||||
else if (mScanner->mToken == TK_INTEGER)
|
else if (IsIntegerToken())
|
||||||
{
|
{
|
||||||
mCompilerOptions &= ~(COPT_OPTIMIZE_ALL);
|
mCompilerOptions &= ~(COPT_OPTIMIZE_ALL);
|
||||||
switch (mScanner->mTokenInteger)
|
switch (mScanner->mTokenInteger)
|
||||||
|
|
|
@ -30,6 +30,7 @@ protected:
|
||||||
bool ConsumeToken(Token token);
|
bool ConsumeToken(Token token);
|
||||||
bool ConsumeTokenIf(Token token);
|
bool ConsumeTokenIf(Token token);
|
||||||
bool ConsumeIdentIf(const char* ident);
|
bool ConsumeIdentIf(const char* ident);
|
||||||
|
bool IsIntegerToken(void);
|
||||||
|
|
||||||
uint8 mCharMap[256];
|
uint8 mCharMap[256];
|
||||||
int mUnrollLoop;
|
int mUnrollLoop;
|
||||||
|
|
Loading…
Reference in New Issue