aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/lib.c
diff options
authorLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-12-09 18:00:53 +0100
committerLuc Van Oostenryck <luc.vanoostenryck@gmail.com>2018-12-17 21:56:32 +0100
commit841a80bb813e6a9d424193dd6cf7fbef70f7feb6 (patch)
treed65f789a79c899ed233a2ac778740db178955409 /lib.c
parentaf4d1b73c7f935eeb883eada6823758f78d7ed21 (diff)
downloadsparse-dev-841a80bb813e6a9d424193dd6cf7fbef70f7feb6.tar.gz
add predefined macros for [u]int64_t
All LP32 archs use [u]llong and all LP64 use [u]long for these but Darwin which seems to always use [u]llong. Signed-off-by: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
Diffstat (limited to 'lib.c')
-rw-r--r--lib.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib.c b/lib.c
index 58b47713..0241c24c 100644
--- a/lib.c
+++ b/lib.c
@@ -471,9 +471,13 @@ static void handle_arch_m64_finalize(void)
max_int_alignment = 8;
predefine("__ILP32__", 1, "1");
predefine("_ILP32", 1, "1");
+ int64_ctype = &llong_ctype;
+ uint64_ctype = &ullong_ctype;
goto case_x86_64;
case ARCH_LP32:
/* default values */
+ int64_ctype = &llong_ctype;
+ uint64_ctype = &ullong_ctype;
intmax_ctype = &llong_ctype;
uintmax_ctype = &ullong_ctype;
return;
@@ -492,6 +496,8 @@ static void handle_arch_m64_finalize(void)
max_int_alignment = 8;
size_t_ctype = &ullong_ctype;
ssize_t_ctype = &llong_ctype;
+ int64_ctype = &llong_ctype;
+ uint64_ctype = &ullong_ctype;
predefine("__LLP64__", 1, "1");
goto case_64bit_common;
case_64bit_common:
@@ -1245,6 +1251,8 @@ static void predefined_macros(void)
predefined_ctype("UINT8", &uchar_ctype, PTYPE_MAX|PTYPE_TYPE);
predefined_ctype("INT16", &short_ctype, PTYPE_MAX|PTYPE_TYPE);
predefined_ctype("UINT16", &ushort_ctype, PTYPE_MAX|PTYPE_TYPE);
+ predefined_ctype("INT64", int64_ctype, PTYPE_MAX|PTYPE_TYPE);
+ predefined_ctype("UINT64", uint64_ctype, PTYPE_MAX|PTYPE_TYPE);
predefined_sizeof("INT128", "", 128);