From e0b1faf993bab97288540769f6f5f7955b3e0996 Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Wed, 3 Sep 2025 21:31:31 +0200 Subject: Add a check for variable names MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This check ensures that asan-friendly names actually match their expected scope. Signed-off-by: Miquel Sabaté Solà --- tests/expected/variable_names.txt | 4 ++++ tests/variable_names.s | 25 +++++++++++++++++++++++++ 2 files changed, 29 insertions(+) create mode 100644 tests/expected/variable_names.txt create mode 100644 tests/variable_names.s (limited to 'tests') diff --git a/tests/expected/variable_names.txt b/tests/expected/variable_names.txt new file mode 100644 index 0000000..416ca69 --- /dev/null +++ b/tests/expected/variable_names.txt @@ -0,0 +1,4 @@ +warning: you are assigning the zero-page variable 'zp_bad' ($0300) to something outside of zero page (variable_names.s: line 11) +warning: you are assigning the variable 'm_bad' ($02) to something in zero page (variable_names.s: line 13) +warning: you are assigning the variable 'wr_bad' ($01) to something in zero page (variable_names.s: line 14) +warning: you are assigning the variable 'wr_out' ($0400) to something outside of Working RAM (variable_names.s: line 16) diff --git a/tests/variable_names.s b/tests/variable_names.s new file mode 100644 index 0000000..0859473 --- /dev/null +++ b/tests/variable_names.s @@ -0,0 +1,25 @@ +.segment "HEADER" + .byte 'N', 'E', 'S', $1A + .byte $02 + .byte $01 + .byte $12 ; let's fake working RAM + .byte $00 + +.segment "CODE" + +zp_good = $00 +zp_bad = $0300 +m_good = $0200 +m_bad = $02 +wr_bad = $01 +wr_good = $6001 +wr_out = $0400 + +;; Just so we don't get "unused" warnings +lda zp_bad +lda zp_good +lda m_bad +lda m_good +lda wr_bad +lda wr_good +lda wr_out -- cgit v1.2.3