From 6e6e3b2adb0a4946a5a9f5f1111289166ccec08e Mon Sep 17 00:00:00 2001 From: drmortalwombat <90205530+drmortalwombat@users.noreply.github.com> Date: Sun, 15 Oct 2023 12:26:32 +0200 Subject: [PATCH] Fix line directive over consumption --- oscar64/Scanner.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/oscar64/Scanner.cpp b/oscar64/Scanner.cpp index 967d160..ca60f20 100644 --- a/oscar64/Scanner.cpp +++ b/oscar64/Scanner.cpp @@ -600,6 +600,7 @@ void Scanner::NextPreToken(void) } else if (mToken == TK_PREP_LINE) { + mPreprocessorMode = true; NextPreToken(); int l = mLocation.mLine; int64 v = PrepParseConditional(); @@ -608,7 +609,8 @@ void Scanner::NextPreToken(void) strcpy_s(mPreprocessor->mSource->mLocationFileName, mTokenString); NextRawToken(); } - mPreprocessor->mLocation.mLine = v + mLocation.mLine - l - 1; + mPreprocessor->mLocation.mLine = int(v) + mLocation.mLine - l; + mPreprocessorMode = false; } else if (mToken == TK_PREP_FOR) {