Warn when truncating values in charmap

This commit is contained in:
ISSOtm
2020-02-09 22:13:16 +01:00
parent af6f62701c
commit 9d811e1267

View File

@@ -999,7 +999,12 @@ incbin : T_POP_INCBIN string
charmap : T_POP_CHARMAP string comma const
{
if (charmap_Add($2, constexpr_GetConstantValue(&$4) & 0xFF) == -1) {
int32_t value = constexpr_GetConstantValue(&$4);
if ((value & 0xFF) != value)
warning(WARNING_TRUNCATION, "Expression must be 8-bit");
if (charmap_Add($2, value & 0xFF) == -1) {
fprintf(stderr, "Error parsing charmap. Either you've added too many (%i), or the input character length is too long (%i)' : %s\n", MAXCHARMAPS, CHARMAPLENGTH, strerror(errno));
yyerror("Error parsing charmap.");
}