From 18b074711eca636d2425a90ddc577ad9d2c4ad0d Mon Sep 17 00:00:00 2001 From: Rangi Date: Mon, 30 Mar 2026 20:07:53 -0400 Subject: [PATCH] Fix `rgbasm -s` not overriding a previous `-s` --- src/asm/main.cpp | 2 +- test/asm/state-override.asm | 2 ++ test/asm/state-override.err | 1 + test/asm/state-override.flags | 1 + test/asm/state-override.out | 4 ++++ 5 files changed, 9 insertions(+), 1 deletion(-) create mode 100644 test/asm/state-override.asm create mode 100644 test/asm/state-override.err create mode 100644 test/asm/state-override.flags create mode 100644 test/asm/state-override.out diff --git a/src/asm/main.cpp b/src/asm/main.cpp index 807d3412..e063250b 100644 --- a/src/asm/main.cpp +++ b/src/asm/main.cpp @@ -289,7 +289,7 @@ static void parseArg(int ch, char *arg) { if (localOptions.stateFileSpecs.find(name) != localOptions.stateFileSpecs.end()) { warnx("Overriding state file \"%s\"", name); } - localOptions.stateFileSpecs.emplace(name, std::move(features)); + localOptions.stateFileSpecs[name] = std::move(features); break; } diff --git a/test/asm/state-override.asm b/test/asm/state-override.asm new file mode 100644 index 00000000..67eb1cb3 --- /dev/null +++ b/test/asm/state-override.asm @@ -0,0 +1,2 @@ +DEF s EQUS "hello" +DEF n EQU 42 diff --git a/test/asm/state-override.err b/test/asm/state-override.err new file mode 100644 index 00000000..b093960c --- /dev/null +++ b/test/asm/state-override.err @@ -0,0 +1 @@ +warning: Overriding state file "-" diff --git a/test/asm/state-override.flags b/test/asm/state-override.flags new file mode 100644 index 00000000..0d93cd1d --- /dev/null +++ b/test/asm/state-override.flags @@ -0,0 +1 @@ +-s equs:- -s equ:- diff --git a/test/asm/state-override.out b/test/asm/state-override.out new file mode 100644 index 00000000..421441a0 --- /dev/null +++ b/test/asm/state-override.out @@ -0,0 +1,4 @@ +; File generated by rgbasm + +; Numeric constants +def n equ $2a