mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
Fix _NARG crashing outside of macros
And add a test for it
This commit is contained in:
@@ -77,6 +77,10 @@ void sym_ForEach(void (*func)(struct Symbol *, void *), void *arg)
|
||||
|
||||
static int32_t Callback_NARG(void)
|
||||
{
|
||||
if (!macro_GetCurrentArgs()) {
|
||||
yyerror("_NARG does not make sense outside of a macro");
|
||||
return 0;
|
||||
}
|
||||
return macro_NbArgs();
|
||||
}
|
||||
|
||||
|
||||
1
test/asm/narg-nosect.asm
Normal file
1
test/asm/narg-nosect.asm
Normal file
@@ -0,0 +1 @@
|
||||
PRINTT "{_NARG}\n"
|
||||
3
test/asm/narg-nosect.err
Normal file
3
test/asm/narg-nosect.err
Normal file
@@ -0,0 +1,3 @@
|
||||
ERROR: narg-nosect.asm(1):
|
||||
_NARG does not make sense outside of a macro
|
||||
error: Assembly aborted (1 errors)!
|
||||
1
test/asm/narg-nosect.out
Normal file
1
test/asm/narg-nosect.out
Normal file
@@ -0,0 +1 @@
|
||||
$0
|
||||
Reference in New Issue
Block a user