Implement multi-value charmaps (#1429)

This commit is contained in:
Sylvie
2024-08-04 17:32:08 -04:00
committed by GitHub
parent 436580a649
commit 9a5b3f0902
16 changed files with 181 additions and 89 deletions

View File

@@ -1,6 +1,6 @@
warning: db-dw-dl-string.asm(15): [-Wnumeric-string]
Treating 4-character string as a number
Treating 4-byte string as a number
warning: db-dw-dl-string.asm(16): [-Wnumeric-string]
Treating 4-character string as a number
Treating 4-byte string as a number
warning: db-dw-dl-string.asm(17): [-Wnumeric-string]
Treating 4-character string as a number
Treating 4-byte string as a number

View File

@@ -1,15 +1,15 @@
warning: multiple-charmaps.asm(46) -> multiple-charmaps.asm::print_mapped(34): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
warning: multiple-charmaps.asm(54) -> multiple-charmaps.asm::print_mapped(34): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
warning: multiple-charmaps.asm(73) -> multiple-charmaps.asm::print_mapped(34): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
warning: multiple-charmaps.asm(95) -> multiple-charmaps.asm::print_mapped(34): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
warning: multiple-charmaps.asm(96) -> multiple-charmaps.asm::print_mapped(34): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
warning: multiple-charmaps.asm(104) -> multiple-charmaps.asm::print_mapped(34): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
error: multiple-charmaps.asm(106) -> multiple-charmaps.asm::new_(9):
Charmap 'map1' already exists
error: multiple-charmaps.asm(108) -> multiple-charmaps.asm::set_(15):

View File

@@ -0,0 +1,35 @@
section "test", rom0[0]
charmap "a", $61
charmap "b", $62
charmap "c", $63
charmap "啊", $04, $c3
charmap "de", $6564
charmap "fghi", $66, $67, $6968
db "abc啊" ; db $61, $62, $63, $04, $C3
db "abcde" ; db $61, $62, $63, $64 (truncated)
dw "abc啊" ; dw $61, $62, $63, $04, $C3
dw "abcde" ; dw $61, $62, $63, $6564
dw "abcdefghi" ; dw $61, $62, $63, $6564, $66, $67, $6968
dl 0 ; separator
charmap "A", $01234567
charmap "B", $fedcba98
assert "A" == $01234567
assert "B" == $fedcba98
db "AB" ; db $01234567, $fedcba98 (truncated to $67, $98)
dl "AB" ; dl $01234567, $fedcba98
charmap "C", $01, $23, $45, $67
charmap "D", $fe, $dc, $ba, $98
assert "C" == $01234567
assert "D" == $fedcba98
db "CD" ; db $01, $23, $45, $67, $fe, $dc, $ba, $98
dw "CD" ; dw $01, $23, $45, $67, $fe, $dc, $ba, $98
charmap "E", $01, $2345, $6789ab, $cdef
assert "E" == $0145abef
db "E" ; db $01, $2345, $6789ab, $cdef (truncated to $01, $45, $ab, $ef)
dl "E" ; dl $01, $2345, $6789ab, $cdef

View File

@@ -0,0 +1,14 @@
warning: multivalue-charmap.asm(11): [-Wtruncation]
All character units must be 8-bit
warning: multivalue-charmap.asm(22): [-Wtruncation]
All character units must be 8-bit
warning: multivalue-charmap.asm(27): [-Wnumeric-string]
Treating 4-byte string as a number
warning: multivalue-charmap.asm(28): [-Wnumeric-string]
Treating 4-byte string as a number
warning: multivalue-charmap.asm(33): [-Wtruncation]
All character units must be 8-bit
warning: multivalue-charmap.asm(33): [-Wnumeric-string]
Treating 4-byte string as a number
warning: multivalue-charmap.asm(34): [-Wtruncation]
All character units must be 8-bit

Binary file not shown.

View File

@@ -1,38 +1,38 @@
warning: warn-numeric-string.asm(20) -> warn-numeric-string.asm::try(12): [-Wnumeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
warning: warn-numeric-string.asm(20) -> warn-numeric-string.asm::try(13): [-Wnumeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
warning: warn-numeric-string.asm(20) -> warn-numeric-string.asm::try(13): [-Wnumeric-string]
Treating string as a number ignores first 2 characters
Treating string as a number ignores first 2 bytes
warning: warn-numeric-string.asm(22) -> warn-numeric-string.asm::try(12): [-Wnumeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
warning: warn-numeric-string.asm(22) -> warn-numeric-string.asm::try(13): [-Wnumeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
warning: warn-numeric-string.asm(22) -> warn-numeric-string.asm::try(13): [-Wnumeric-string]
Treating string as a number ignores first 2 characters
Treating string as a number ignores first 2 bytes
warning: warn-numeric-string.asm(23) -> warn-numeric-string.asm::try(12): [-Wnumeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
warning: warn-numeric-string.asm(23) -> warn-numeric-string.asm::try(13): [-Wnumeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
warning: warn-numeric-string.asm(23) -> warn-numeric-string.asm::try(13): [-Wnumeric-string]
Treating string as a number ignores first 2 characters
Treating string as a number ignores first 2 bytes
warning: warn-numeric-string.asm(23) -> warn-numeric-string.asm::try(15): [-Wnumeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
warning: warn-numeric-string.asm(23) -> warn-numeric-string.asm::try(16): [-Wnumeric-string]
Treating 3-character string as a number
Treating 3-byte string as a number
error: warn-numeric-string.asm(24) -> warn-numeric-string.asm::try(12): [-Werror=numeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
error: warn-numeric-string.asm(24) -> warn-numeric-string.asm::try(13): [-Werror=numeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
error: warn-numeric-string.asm(24) -> warn-numeric-string.asm::try(13): [-Werror=numeric-string]
Treating string as a number ignores first 2 characters
Treating string as a number ignores first 2 bytes
error: warn-numeric-string.asm(25) -> warn-numeric-string.asm::try(12): [-Werror=numeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
error: warn-numeric-string.asm(25) -> warn-numeric-string.asm::try(13): [-Werror=numeric-string]
Treating string as a number ignores first 1 character
Treating string as a number ignores first 1 byte
error: warn-numeric-string.asm(25) -> warn-numeric-string.asm::try(13): [-Werror=numeric-string]
Treating string as a number ignores first 2 characters
Treating string as a number ignores first 2 bytes
error: warn-numeric-string.asm(25) -> warn-numeric-string.asm::try(15): [-Werror=numeric-string]
Treating 2-character string as a number
Treating 2-byte string as a number
error: warn-numeric-string.asm(25) -> warn-numeric-string.asm::try(16): [-Werror=numeric-string]
Treating 3-character string as a number
Treating 3-byte string as a number