From 90bc8d91100b23c6e4283c2983cc353434bb8956 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Antonio=20Ni=C3=B1o=20D=C3=ADaz?= Date: Thu, 26 Oct 2017 23:23:13 +0100 Subject: [PATCH] Reintroduce EQU __LINE__ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It was removed in commit 6198cc185c24ec4ba794ed27c969ae65d31f89c3, but the documentation wasn't updated back then. It makes more sense to reintroduce it now than to remove it from the docs. Signed-off-by: Antonio Niño Díaz --- src/asm/symbol.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/src/asm/symbol.c b/src/asm/symbol.c index 856826db..2207c2f6 100644 --- a/src/asm/symbol.c +++ b/src/asm/symbol.c @@ -20,6 +20,7 @@ struct sSymbol *tHashedSymbols[HASHSIZE]; struct sSymbol *pScope = NULL; struct sSymbol *pPCSymbol = NULL; struct sSymbol *p_NARGSymbol = NULL; +struct sSymbol *p__LINE__Symbol = NULL; char *currentmacroargs[MAXMACROARGS + 1]; char *newmacroargs[MAXMACROARGS + 1]; char SavedTIME[256]; @@ -60,6 +61,13 @@ Callback_NARG(struct sSymbol * sym) return (i); } +SLONG +Callback__LINE__(struct sSymbol * sym) +{ + sym = sym; + return (nLineNo); +} + /* * Get the nValue field of a symbol */ @@ -864,6 +872,9 @@ sym_PrepPass2(void) sym_AddEqu("_NARG", 0); p_NARGSymbol = findsymbol("_NARG", NULL); p_NARGSymbol->Callback = Callback_NARG; + sym_AddEqu("__LINE__", 0); + p__LINE__Symbol = findsymbol("__LINE__", NULL); + p__LINE__Symbol->Callback = Callback__LINE__; math_DefinePI(); } @@ -890,6 +901,9 @@ sym_Init(void) sym_AddEqu("_NARG", 0); p_NARGSymbol = findsymbol("_NARG", NULL); p_NARGSymbol->Callback = Callback_NARG; + sym_AddEqu("__LINE__", 0); + p__LINE__Symbol = findsymbol("__LINE__", NULL); + p__LINE__Symbol->Callback = Callback__LINE__; sym_AddSet("_RS", 0);