diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2022-05-19 03:56:02 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2022-05-19 03:56:02 -0700 |
commit | ec80c9c4c2a54bf21062a07281acefaf51688fb4 (patch) | |
tree | af9cf276b84ed45272ba47ba366ac97c1003f95d /ffi.c | |
parent | 7277c45c15d8b13db0326e03dff9e4b4c00ad5b5 (diff) | |
download | txr-ec80c9c4c2a54bf21062a07281acefaf51688fb4.tar.gz txr-ec80c9c4c2a54bf21062a07281acefaf51688fb4.tar.bz2 txr-ec80c9c4c2a54bf21062a07281acefaf51688fb4.zip |
ffi: use longlong_t.
ffi.c (ffi_init_extra_types): Use longlong_t and ulonglong_t, subject
to HAVE_LONGLONG_T. If there is no intmax_t and no longlong_t,
don't define intmax-t and uintmax-t.
Diffstat (limited to 'ffi.c')
-rw-r--r-- | ffi.c | 12 |
1 files changed, 8 insertions, 4 deletions
@@ -4719,11 +4719,12 @@ static void ffi_init_extra_types(void) ffi_typedef(intern(lit("wint-t"), user_package), type_by_size[convert(wint_t, -1) > 0][sizeof (wint_t)]); +#if HAVE_INTMAX_T || HAVE_LONGLONG_T { #if HAVE_INTMAX_T typedef intmax_t imax_t; -#else - typedef long long imax_t; +#elif HAVE_LONGLONG_T + typedef longlong_t imax_t; #endif if (sizeof(imax_t) <= 8) { @@ -4733,6 +4734,7 @@ static void ffi_init_extra_types(void) type_by_size[1][sizeof (imax_t)]); } } +#endif #if HAVE_SYS_TYPES_H ffi_typedef(intern(lit("blkcnt-t"), user_package), @@ -4775,10 +4777,12 @@ static void ffi_init_extra_types(void) type_by_size[convert(uid_t, -1) > 0][sizeof (uid_t)]); #endif +#if HAVE_LONGLONG_T ffi_typedef(intern(lit("longlong"), user_package), - type_by_size[0][sizeof (long long)]); + type_by_size[0][sizeof (longlong_t)]); ffi_typedef(intern(lit("ulonglong"), user_package), - type_by_size[1][sizeof (long long)]); + type_by_size[1][sizeof (longlong_t)]); +#endif } #if HAVE_LIBFFI |