mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 18:22:07 +00:00
Fix many lexer bugs
More to come...
This commit is contained in:
@@ -6,5 +6,5 @@ ERROR: assert.asm(18):
|
||||
Expected constant expression: 'FloatingBase' is not constant at assembly time
|
||||
ERROR: assert.asm(18):
|
||||
Assertion failed
|
||||
ERROR: assert.asm(21):
|
||||
FATAL: assert.asm(21):
|
||||
Assertion failed
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: divzero-instr.asm(2):
|
||||
FATAL: divzero-instr.asm(2):
|
||||
Division by zero
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: divzero-section-bank.asm(1):
|
||||
FATAL: divzero-section-bank.asm(1):
|
||||
Division by zero
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
warning: test/asm/equs-newline.asm(2): [-Wuser]
|
||||
warning: equs-newline.asm(3): [-Wuser]
|
||||
First
|
||||
while expanding symbol "ACT"
|
||||
warning: test/asm/equs-newline.asm(3): [-Wuser]
|
||||
warning: equs-newline.asm(3): [-Wuser]
|
||||
Second
|
||||
while expanding symbol "ACT"
|
||||
warning: test/asm/equs-newline.asm(4): [-Wuser]
|
||||
warning: equs-newline.asm(4): [-Wuser]
|
||||
Third
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
warning: test/asm/equs-purge.asm(0): [-Wuser]
|
||||
warning: equs-purge.asm(2): [-Wuser]
|
||||
Crash?
|
||||
while expanding symbol "BYE"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ERROR: equs-recursion.asm(2):
|
||||
FATAL: equs-recursion.asm(2):
|
||||
Recursion limit (64) exceeded
|
||||
while expanding symbol "recurse"
|
||||
while expanding symbol "recurse"
|
||||
@@ -64,3 +64,4 @@ while expanding symbol "recurse"
|
||||
while expanding symbol "recurse"
|
||||
while expanding symbol "recurse"
|
||||
while expanding symbol "recurse"
|
||||
while expanding symbol "recurse"
|
||||
|
||||
@@ -1 +1 @@
|
||||
x<EFBFBD>
|
||||
<EFBFBD>
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
ERROR: garbage_char.asm(1):
|
||||
Found garbage character: 0xFF
|
||||
Unknown character 0xFF
|
||||
error: Assembly aborted (1 errors)!
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
if {@}
|
||||
if "{@}"
|
||||
endc
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1):
|
||||
FATAL: include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1) -> include-recursion.asm(1):
|
||||
Recursion limit (64) exceeded
|
||||
|
||||
@@ -2,7 +2,9 @@ m: MACRO
|
||||
ENDM
|
||||
|
||||
REPT 1
|
||||
m ENDR
|
||||
m
|
||||
ENDR
|
||||
|
||||
REPT 1
|
||||
m \ ENDR
|
||||
m \
|
||||
ENDR
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
; file doesn't cause a segfault.
|
||||
|
||||
bar: MACRO
|
||||
WARN ""
|
||||
ENDM
|
||||
|
||||
foo: bar baz\
|
||||
foo: bar baz\
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: load-overflow.asm(4):
|
||||
FATAL: load-overflow.asm(4):
|
||||
Section 'Overflow' grew too big (max size = 0x8000 bytes, reached 0x8001).
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
ERROR: local-purge.asm(8):
|
||||
'.loc' not defined
|
||||
Interpolated symbol ".loc" does not exist
|
||||
error: Assembly aborted (1 errors)!
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: local-ref-without-parent.asm(3):
|
||||
FATAL: local-ref-without-parent.asm(3):
|
||||
Local label reference '.test' in main scope
|
||||
|
||||
8
test/asm/macro-line-no.asm
Normal file
8
test/asm/macro-line-no.asm
Normal file
@@ -0,0 +1,8 @@
|
||||
|
||||
WARN "Line 2"
|
||||
m: macro
|
||||
WARN "Line 4"
|
||||
endm
|
||||
WARN "Line 6"
|
||||
m
|
||||
WARN "Line 8"
|
||||
8
test/asm/macro-line-no.err
Normal file
8
test/asm/macro-line-no.err
Normal file
@@ -0,0 +1,8 @@
|
||||
warning: macro-line-no.asm(2): [-Wuser]
|
||||
Line 2
|
||||
warning: macro-line-no.asm(6): [-Wuser]
|
||||
Line 6
|
||||
warning: macro-line-no.asm(7) -> macro-line-no.asm::m(4): [-Wuser]
|
||||
Line 4
|
||||
warning: macro-line-no.asm(8): [-Wuser]
|
||||
Line 8
|
||||
0
test/asm/macro-line-no.out
Normal file
0
test/asm/macro-line-no.out
Normal file
@@ -1,2 +1,2 @@
|
||||
ERROR: macro-recursion.asm(4) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2):
|
||||
FATAL: macro-recursion.asm(4) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2) -> macro-recursion.asm::recurse(2):
|
||||
Recursion limit (64) exceeded
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
ERROR: nested-brackets.asm(5):
|
||||
Missing }
|
||||
error: Assembly aborted (1 errors)!
|
||||
|
||||
@@ -1 +1,2 @@
|
||||
OK
|
||||
OK
|
||||
Binary file not shown.
@@ -1,2 +1,3 @@
|
||||
ERROR: null-in-macro.asm(2):
|
||||
Found null character
|
||||
ERROR: null-in-macro.asm(4) -> null-in-macro.asm::foo(2):
|
||||
Unknown character 0x00
|
||||
error: Assembly aborted (1 errors)!
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: pops-no-pushed-sections.asm(1):
|
||||
FATAL: pops-no-pushed-sections.asm(1):
|
||||
No entries in the section stack
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
ERROR: pops-restore-no-section.asm(9):
|
||||
Label "DisallowedContent" created outside of a SECTION
|
||||
ERROR: pops-restore-no-section.asm(10):
|
||||
FATAL: pops-restore-no-section.asm(10):
|
||||
Code generation before SECTION directive
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: remote-local-noexist.asm(7):
|
||||
FATAL: remote-local-noexist.asm(7):
|
||||
'Parent.child.fail' is a nonsensical reference to a nested local symbol
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: rept-shift.asm(17) -> rept-shift.asm::m(14):
|
||||
FATAL: rept-shift.asm(17) -> rept-shift.asm::m(14):
|
||||
Macro argument '\1' not defined
|
||||
|
||||
@@ -6,5 +6,5 @@ ERROR: section-union.asm(37):
|
||||
Section "test" already declared as fixed at $c000
|
||||
ERROR: section-union.asm(37):
|
||||
Section "test" already declared as aligned to 256 bytes
|
||||
ERROR: section-union.asm(37):
|
||||
FATAL: section-union.asm(37):
|
||||
Cannot create section "test" (3 errors)
|
||||
|
||||
@@ -1,3 +1,3 @@
|
||||
ERROR: sym-collision.asm(26):
|
||||
'dork' not defined
|
||||
Interpolated symbol "dork" does not exist
|
||||
error: Assembly aborted (1 errors)!
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
aqfj: $FE00
|
||||
cxje: $FE01
|
||||
dgsd: $FE02
|
||||
dork: $0
|
||||
dork:
|
||||
lxok: $FE04
|
||||
psgp: $FE05
|
||||
sfly: $FE06
|
||||
|
||||
@@ -1,2 +1,2 @@
|
||||
ERROR: symbol-invalid-macro-arg.asm(1):
|
||||
Invalid macro argument '\0' in symbol
|
||||
FATAL: symbol-invalid-macro-arg.asm(1):
|
||||
Invalid macro argument '\0'
|
||||
|
||||
@@ -12,6 +12,7 @@ rc=0
|
||||
bold=$(tput bold)
|
||||
resbold=$(tput sgr0)
|
||||
red=$(tput setaf 1)
|
||||
green=$(tput setaf 2)
|
||||
rescolors=$(tput op)
|
||||
tryDiff () {
|
||||
diff -u --strip-trailing-cr $1 $2 || (echo "${bold}${red}${i%.asm}${variant}.$3 mismatch!${rescolors}${resbold}"; false)
|
||||
@@ -36,6 +37,7 @@ fi
|
||||
|
||||
for i in *.asm; do
|
||||
for variant in '' '.pipe'; do
|
||||
echo -e "${bold}${green}${i%.asm}${variant}...${rescolors}${resbold}"
|
||||
if [ -z "$variant" ]; then
|
||||
../../rgbasm -Weverything -o $o $i > $output 2> $errput
|
||||
desired_output=${i%.asm}.out
|
||||
@@ -59,8 +61,8 @@ for i in *.asm; do
|
||||
# Escape regex metacharacters
|
||||
subst="$(printf '%s\n' "$i" | sed 's:[][\/.^$*]:\\&:g')"
|
||||
# Replace the file name with a dash to match changed output
|
||||
sed "s/$subst/-/g" ${i%.asm}.out > $desired_output
|
||||
sed "s/$subst/-/g" ${i%.asm}.err > $desired_errput
|
||||
sed "s/$subst/<stdin>/g" ${i%.asm}.out > $desired_output
|
||||
sed "s/$subst/<stdin>/g" ${i%.asm}.err > $desired_errput
|
||||
fi
|
||||
|
||||
tryDiff $desired_output $output out
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
warning: unique-id.asm(12) -> unique-id.asm::m(4): [-Wuser]
|
||||
_0
|
||||
warning: unique-id.asm(12) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~1(6): [-Wuser]
|
||||
_1
|
||||
warning: unique-id.asm(12) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~2(6): [-Wuser]
|
||||
warning: unique-id.asm(12) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~1(6): [-Wuser]
|
||||
_2
|
||||
warning: unique-id.asm(12) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~2(6): [-Wuser]
|
||||
_3
|
||||
warning: unique-id.asm(12) -> unique-id.asm::m(8): [-Wuser]
|
||||
_0
|
||||
_1
|
||||
warning: unique-id.asm(14) -> unique-id.asm::m(4): [-Wuser]
|
||||
_3
|
||||
warning: unique-id.asm(14) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~1(6): [-Wuser]
|
||||
_4
|
||||
warning: unique-id.asm(14) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~2(6): [-Wuser]
|
||||
warning: unique-id.asm(14) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~1(6): [-Wuser]
|
||||
_5
|
||||
warning: unique-id.asm(14) -> unique-id.asm::m(5) -> unique-id.asm::m::REPT~2(6): [-Wuser]
|
||||
_6
|
||||
warning: unique-id.asm(14) -> unique-id.asm::m(8): [-Wuser]
|
||||
_3
|
||||
ERROR: unique-id.asm(15):
|
||||
_4
|
||||
FATAL: unique-id.asm(15):
|
||||
Macro argument '\@' not defined
|
||||
while expanding symbol "print"
|
||||
|
||||
Reference in New Issue
Block a user