Do not allow defining labels outside sections (#2013)

Creating a `Symbol` with `type = SYM_LABEL` but `section = nullptr`
is inconsistent and dangerous. I was not able to cause any buggy
behavior so far, but it's safer and reasonable to not create such
a symbol in the first place.

The main consequence is that `DEF(LabelOutsideSection)` will now
evaluate as 0.
This commit is contained in:
Rangi
2026-07-06 16:18:42 -04:00
committed by GitHub
parent 46a6966b70
commit fe3b238dea
12 changed files with 24 additions and 19 deletions
+2 -2
View File
@@ -1,4 +1,4 @@
error: Label `old` created outside of a `SECTION`
error: Cannot define label `old` outside of a `SECTION`
at macro-syntax.asm(7)
error: syntax error, unexpected MACRO
at macro-syntax.asm(7)
@@ -6,6 +6,6 @@ error: `\1` cannot be used outside of a macro
at macro-syntax.asm(8)
error: syntax error, unexpected ENDM
at macro-syntax.asm(9)
error: `old` is not a macro
error: Undefined macro `old`
at macro-syntax.asm(11)
Assembly aborted with 5 errors