GP-3285 Added parsing of parenthesized values with ull, llu, lu, LL suffixes

This commit is contained in:
emteere 2023-04-04 07:34:46 -04:00 committed by Ryan Kurtz
parent 88d0110a09
commit 2ac921df58
3 changed files with 81 additions and 7 deletions

View file

@ -181,6 +181,62 @@ public class PreProcessorTest extends AbstractGenericTest {
value = 6;
defname = "DefVal_6ul";
checkDefine(dtMgr, path, value, defname);
value = 7;
defname = "DefVal_7lu";
checkDefine(dtMgr, path, value, defname);
value = 8;
defname = "DefVal_8llu";
checkDefine(dtMgr, path, value, defname);
value = 9;
defname = "DefVal_9ull";
checkDefine(dtMgr, path, value, defname);
value = 10;
defname = "DefVal_10ll";
checkDefine(dtMgr, path, value, defname);
value = 1;
defname = "DefVal_P_1L";
checkDefine(dtMgr, path, value, defname);
value = 2;
defname = "DefVal_P_2l";
checkDefine(dtMgr, path, value, defname);
value = 3;
defname = "DefVal_P_3U";
checkDefine(dtMgr, path, value, defname);
value = 4;
defname = "DefVal_P_4u";
checkDefine(dtMgr, path, value, defname);
value = 5;
defname = "DefVal_P_5UL";
checkDefine(dtMgr, path, value, defname);
value = 6;
defname = "DefVal_P_6ul";
checkDefine(dtMgr, path, value, defname);
value = 7;
defname = "DefVal_P_7lu";
checkDefine(dtMgr, path, value, defname);
value = 8;
defname = "DefVal_P_8llu";
checkDefine(dtMgr, path, value, defname);
value = 9;
defname = "DefVal_P_9ull";
checkDefine(dtMgr, path, value, defname);
value = 10;
defname = "DefVal_P_10ll";
checkDefine(dtMgr, path, value, defname);
value = 0;
defname = "TOO_MANY_FISH";

View file

@ -219,12 +219,27 @@ int TEST_FAILED;
#define DefVal10 ((0x7fff) * 900L / 1000)
#define DefVal_1L (1L)
#define DefVal_2l (2l)
#define DefVal_3U (3U )
#define DefVal_4u ( 4u)
#define DefVal_5UL ( 5UL )
#define DefVal_6ul (6ul)
#define DefVal_1L 1L
#define DefVal_2l 2l
#define DefVal_3U 3U
#define DefVal_4u 4u
#define DefVal_5UL 5UL
#define DefVal_6ul 6ul
#define DefVal_7lu 7lu
#define DefVal_8llu 8llu
#define DefVal_9ull 9ull
#define DefVal_10ll 10ll
#define DefVal_P_1L (1L)
#define DefVal_P_2l (2l)
#define DefVal_P_3U (3U )
#define DefVal_P_4u ( 4u)
#define DefVal_P_5UL ( 5UL )
#define DefVal_P_6ul (6ul)
#define DefVal_P_7lu ( 7lu )
#define DefVal_P_8llu ( 8llu )
#define DefVal_P_9ull ( 9ull )
#define DefVal_P_10ll ( 10ll )
#define BIGNUM 64 * 16 + 16

View file

@ -269,7 +269,10 @@ public class AddressEvaluator {
radix = 16;
}
strValue = strValue.toLowerCase();
if (strValue.endsWith("ul")) {
if (strValue.endsWith("ull") || strValue.endsWith("llu")) {
strValue = strValue.substring(start, strValue.length() - 3);
}
else if (strValue.endsWith("ul") || strValue.endsWith("lu") || strValue.endsWith("ll")) {
strValue = strValue.substring(start, strValue.length() - 2);
}
else if (strValue.endsWith("l") || strValue.endsWith("u")) {