Endian specific integers: e.g. i32 i32le i32be

This commit is contained in:
gingerBill
2018-12-02 15:53:52 +00:00
parent 784c48c9e3
commit 00161023cd
7 changed files with 278 additions and 49 deletions

View File

@@ -1304,6 +1304,13 @@ bool check_representable_as_constant(CheckerContext *c, ExactValue in_value, Typ
case Basic_i32:
case Basic_i64:
case Basic_int:
case Basic_i16le:
case Basic_i32le:
case Basic_i64le:
case Basic_i16be:
case Basic_i32be:
case Basic_i64be:
{
// return imin <= i && i <= imax;
int a = big_int_cmp(&imin, &i);
@@ -1318,6 +1325,12 @@ bool check_representable_as_constant(CheckerContext *c, ExactValue in_value, Typ
case Basic_uint:
case Basic_uintptr:
case Basic_u16le:
case Basic_u32le:
case Basic_u64le:
case Basic_u16be:
case Basic_u32be:
case Basic_u64be:
{
// return 0ull <= i && i <= umax;
int b = big_int_cmp(&i, &umax);