Merge pull request #2718 from kugelfuhr/kugelfuhr/fix-505

Fix the behavior of variable symbols in regard to cheap locals
This commit is contained in:
Bob Andrews
2025-06-19 23:44:38 +02:00
committed by GitHub
2 changed files with 35 additions and 2 deletions

28
test/asm/err/bug505.s Normal file
View File

@@ -0,0 +1,28 @@
; Test for #505 taken from the issue
; Redefining a variable symbol "reopens" the old name space for cheap locals
; Behavior should be: First definition of a variable symbol opens a new
; scope for cheap locals, redefinitions of the same symbols do not.
;this starts a new scope for cheap local lables
SomeSymbol .set 4
jmp @CheapLocal1
@CheapLocal0:
.byte $8b
CheapLocalScopeBreaker0:
CheapLocalScopeBreaker1:
CheapLocalScopeBreaker2:
CheapLocalScopeBreaker3:
;this continues the same cheap scope as before, regardless of the many global labels in between
SomeSymbol .set 5
@CheapLocal1:
lda @CheapLocal0