mirror of
https://github.com/gbdev/rgbds.git
synced 2025-11-20 10:12:06 +00:00
Allow trailing commas in bare lists
This applies to macro arguments, DB, DW, DL, DS, PRINT, PRINTLN, EXPORT, PURGE, and OPT. It also removes support for empty entries in DB/DW/DL. (Deprecating it would require keeping parser support, which is ambiguous with trailing commas.) Fixes #753
This commit is contained in:
@@ -9,15 +9,20 @@ ENDM
|
||||
|
||||
mac /* block
|
||||
...comment */ ; comment
|
||||
mac /*a*/ 1 , 2 /*b*/
|
||||
mac /*a*/ 1 , 2 /*b*/ , ; trailing comma
|
||||
mac \
|
||||
c, d
|
||||
mac 1, 2 + /* another ;
|
||||
; comment */ 2, 3
|
||||
|
||||
mac a b ; truncated
|
||||
|
||||
mac
|
||||
mac ,
|
||||
mac a,
|
||||
mac a,,
|
||||
mac ,,z
|
||||
mac a,,z
|
||||
mac ,a,b,c,
|
||||
mac ,,x,,
|
||||
mac ,,x,,,
|
||||
mac E,O,F ; no newline
|
||||
@@ -1,22 +1,22 @@
|
||||
warning: macro-arguments.asm(19): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(19): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(20): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(20): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(18): [-Wlong-string]
|
||||
Macro argument too long
|
||||
warning: macro-arguments.asm(21): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(22): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(22): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(23): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(23): [-Wempty-macro-arg]
|
||||
warning: macro-arguments.asm(24): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(23): [-Wempty-macro-arg]
|
||||
warning: macro-arguments.asm(24): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(23): [-Wempty-macro-arg]
|
||||
warning: macro-arguments.asm(25): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(26): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(27): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(27): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(27): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
warning: macro-arguments.asm(27): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
|
||||
@@ -13,12 +13,20 @@
|
||||
\2: <2 + 2>
|
||||
\3: <3>
|
||||
|
||||
'mac a':
|
||||
\1: <a>
|
||||
|
||||
'mac ':
|
||||
|
||||
'mac ,':
|
||||
\1: <>
|
||||
|
||||
'mac a':
|
||||
\1: <a>
|
||||
|
||||
'mac a,,':
|
||||
\1: <a>
|
||||
\2: <>
|
||||
\3: <>
|
||||
|
||||
'mac ,,z':
|
||||
\1: <>
|
||||
@@ -30,17 +38,21 @@
|
||||
\2: <>
|
||||
\3: <z>
|
||||
|
||||
'mac ,a,b,c,':
|
||||
'mac ,a,b,c':
|
||||
\1: <>
|
||||
\2: <a>
|
||||
\3: <b>
|
||||
\4: <c>
|
||||
\5: <>
|
||||
|
||||
'mac ,,x,,':
|
||||
'mac ,,x,,,':
|
||||
\1: <>
|
||||
\2: <>
|
||||
\3: <x>
|
||||
\4: <>
|
||||
\5: <>
|
||||
|
||||
'mac E,O,F':
|
||||
\1: <E>
|
||||
\2: <O>
|
||||
\3: <F>
|
||||
|
||||
|
||||
25
test/asm/trailing-commas.asm
Normal file
25
test/asm/trailing-commas.asm
Normal file
@@ -0,0 +1,25 @@
|
||||
SECTION "test", ROM0
|
||||
|
||||
mac: MACRO
|
||||
println "\#"
|
||||
ENDM
|
||||
|
||||
mac 1,2, 3 , ,5,
|
||||
|
||||
db 1,2,3,
|
||||
dw 4,5,6,
|
||||
dl 7,8,9,
|
||||
ds 10, $a, $b, $c,
|
||||
|
||||
print "Hello", " ",
|
||||
println "world", "!",
|
||||
|
||||
spam:
|
||||
eggs:
|
||||
lobsterThermidor:
|
||||
|
||||
export spam, eggs,
|
||||
purge lobsterThermidor,
|
||||
|
||||
opt boO, g.xX#,
|
||||
dw %ooOOOOoo, `XX##..xx,
|
||||
2
test/asm/trailing-commas.err
Normal file
2
test/asm/trailing-commas.err
Normal file
@@ -0,0 +1,2 @@
|
||||
warning: trailing-commas.asm(7): [-Wempty-macro-arg]
|
||||
Empty macro argument
|
||||
2
test/asm/trailing-commas.out
Normal file
2
test/asm/trailing-commas.out
Normal file
@@ -0,0 +1,2 @@
|
||||
1,2,3,,5
|
||||
Hello world!
|
||||
BIN
test/asm/trailing-commas.out.bin
Normal file
BIN
test/asm/trailing-commas.out.bin
Normal file
Binary file not shown.
Reference in New Issue
Block a user