From f6ab79319fe48adf57454d93c7986e242ed922ce Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Sun, 18 Feb 2024 09:31:05 +0100 Subject: [PATCH] More compatibility fixes for -psci --- oscar64/Parser.cpp | 5 +++++ oscar64/Scanner.cpp | 1 - 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/oscar64/Parser.cpp b/oscar64/Parser.cpp index 70e091a..fb300c2 100644 --- a/oscar64/Parser.cpp +++ b/oscar64/Parser.cpp @@ -11060,6 +11060,9 @@ bool Parser::IsIntegerToken(void) void Parser::ParsePragma(void) { + uint64 op = mCompilerOptions; + mCompilerOptions &= ~COPT_PETSCII; + if (mScanner->mToken == TK_IDENT) { if (!strcmp(mScanner->mTokenIdent->mString, "message")) @@ -11887,6 +11890,8 @@ void Parser::ParsePragma(void) } else mErrors->Error(mScanner->mLocation, EERR_SYNTAX, "Invalid pragma directive"); + + mCompilerOptions = op; } void Parser::ParseNamespace(void) diff --git a/oscar64/Scanner.cpp b/oscar64/Scanner.cpp index cb77039..d8bfa64 100644 --- a/oscar64/Scanner.cpp +++ b/oscar64/Scanner.cpp @@ -883,7 +883,6 @@ void Scanner::NextPreToken(void) uint64 op = mCompilerOptions; mCompilerOptions &= ~COPT_PETSCII; - NextRawToken(); NextRawToken(); if (mToken == TK_INTEGER)