From e71a73d0875c416507a3207bdec6fee145a79f68 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Tue, 6 Oct 2026 17:33:16 +0200 Subject: Don't error out on conditional .include MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The hard requirement that an .include statement cannot be inside of another block was, in the end, a bit short-sighted. Imagine the following block: .ifdef DEBUG .include "debug.s" .endif This is perfectly sound-looking code, and it should not be punished as the developer is doing something that is not bending the assembler in weird ways. Hence, just nuke this check. Signed-off-by: Miquel Sabaté Solà --- scripts/test-e2e.sh | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'scripts/test-e2e.sh') diff --git a/scripts/test-e2e.sh b/scripts/test-e2e.sh index 21c4c7f..0cf37f0 100755 --- a/scripts/test-e2e.sh +++ b/scripts/test-e2e.sh @@ -154,6 +154,21 @@ exit_code=$((exit_code + $?)) diff tests/out/out.nes tests/expected/out.nes exit_code=$((exit_code + $?)) +echo "test: custom => conditionally_include.nes" +# No DEBUG +./target/debug/nasm -c empty -Werror --asan -o tests/out/conditionally_include.nes tests/conditionally_include.s 2> tests/out/conditionally_include.txt +diff tests/out/conditionally_include.txt tests/expected/conditionally_include.txt +exit_code=$((exit_code + $?)) +diff tests/out/conditionally_include.nes tests/expected/conditionally_include.nes +exit_code=$((exit_code + $?)) + +# With DEBUG +./target/debug/nasm -c empty -Werror --asan -o tests/out/conditionally_include_debug.nes -D DEBUG=1 tests/conditionally_include.s 2> tests/out/conditionally_include_debug.txt +diff tests/out/conditionally_include_debug.txt tests/expected/conditionally_include_debug.txt +exit_code=$((exit_code + $?)) +diff tests/out/conditionally_include_debug.nes tests/expected/conditionally_include_debug.nes +exit_code=$((exit_code + $?)) + ## # code.nes -- cgit v1.2.3