mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 10:19:23 +02:00
GP-3285 Added parsing of parenthesized values with ull, llu, lu, LL suffixes
This commit is contained in:
parent
88d0110a09
commit
2ac921df58
3 changed files with 81 additions and 7 deletions
|
@ -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";
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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")) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue