mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Suggest removing space before colon to define a label instead of invoking a macro
This commit is contained in:
@@ -417,6 +417,14 @@ void fstk_RunMacro(
|
||||
macroName.c_str(),
|
||||
defType
|
||||
);
|
||||
} else if (std::shared_ptr<std::string> firstArg = macroArgs->getArg(1);
|
||||
firstArg && firstArg->starts_with(':')) {
|
||||
error(
|
||||
"Undefined macro `%s` (did you mean a label \"%s%s\"?)",
|
||||
macroName.c_str(),
|
||||
macroName.c_str(),
|
||||
firstArg->starts_with("::") ? "::" : ":"
|
||||
);
|
||||
} else {
|
||||
error("Undefined macro `%s`", macroName.c_str());
|
||||
}
|
||||
|
||||
@@ -23,6 +23,6 @@ Label2: ld d, 4
|
||||
; and a label definition when already defined as a macro
|
||||
mac: ld e, 5
|
||||
|
||||
; the space before the colon matters!
|
||||
undef :
|
||||
; the space before the colon matters! the space before the macro does not
|
||||
undef :
|
||||
undef ::
|
||||
|
||||
@@ -4,8 +4,8 @@ error: `mac` already defined
|
||||
at lexer-hack.asm(24)
|
||||
and also:
|
||||
at lexer-hack.asm(1)
|
||||
error: Undefined macro `undef`
|
||||
error: Undefined macro `undef` (did you mean a label "undef:"?)
|
||||
at lexer-hack.asm(27)
|
||||
error: Undefined macro `undef`
|
||||
error: Undefined macro `undef` (did you mean a label "undef::"?)
|
||||
at lexer-hack.asm(28)
|
||||
Assembly aborted with 4 errors!
|
||||
|
||||
Reference in New Issue
Block a user