From: Daniel J. <dan...@gm...> - 2017-05-26 07:59:28
|
int might also be only 16 bit wide. AFAIK both types also could be larger than 32 respectively 64 bits. The real solution is to use the fixed width integer types provided by the (C99 and newer) standard (int32_t and int64_t). I started work on that in February, but was set back by serious mysterious crashes that appeared even without any of my changes. I'll look whether I can polish the changes to a complete patch next week, that I hopefully can test (assuming CLISP from the repo doesn't crash by itself now). Cheers, Daniel Compro Prasad <com...@gm...> schrieb am Fr., 26. Mai 2017, 07:49: > According to what I have seen, 32 bit systems have sizeof(long) as 32 > bits and on 64 bit systems it is 64 bits. So, why trust "long". Why > not use "int" for 32 bits and "long long" for 64 bits? If there is a > problem then what is it? > > On Thu, May 25, 2017 at 5:52 PM, Bruno Haible <br...@cl...> wrote: > > Compro Prasad wrote: > >> typedef unsigned long ULONGLONG; > >> typedef ULONGLONG uint64; > >> typedef uint64 uintP; > >> > >> I think uintP refers to pointer > > > > Yes, the comment in lispbibl.d says so. Just search for 'uintP'. > > > >> But clisp.h doesn't has anything like: > >> build-MT-debug/lispbibl.c:1164: typedef unsigned long long ULONGLONG; > > > > In my (non-MT) builds, clisp.h contains > > > > typedef unsigned long ULONGLONG; > > ... > > typedef ULONGLONG uint64; > > ... > > typedef uint64 uintP; > > > > Bruno > > > > > ------------------------------------------------------------------------------ > Check out the vibrant tech community on one of the world's most > engaging tech sites, Slashdot.org! http://sdm.link/slashdot > _______________________________________________ > clisp-devel mailing list > cli...@li... > https://lists.sourceforge.net/lists/listinfo/clisp-devel > |