Hi, I reviewed Robert's patches and added some of my own, that were necessary for GiNaC to work with CLN on Win64. They can be viewed on Github: === CLN === https://github.com/jrheinlaender/cln/commits/win64 There are two kinds of patches: - Patches required for Win64 platform (e.g. UL is 32 bit type on that platform). Mostly due to Robert (Number 1-10) - Cosmetic patches to avoid unnecessary compiler warnings (e.g. confusion of class and struct) Most patches I surrounded with #ifdef _M_AMD64 so that other platforms will be unaffected === GiNaC === https://github.com/jrheinlaender/ginac/commits/win64 - Here I removed some old patches that are not required any more because of improvements in MSVC 2015 - And added a few constructors from size_t I hope these patches are OK and can be included in master. Am 24.02.2018 um 12:49 schrieb Robert Szalai:
Here is the previous win64 patch set...
---------- Forwarded message ---------- From: "Robert Szalai" <robicjedi@gmail.com <mailto:robicjedi@gmail.com>> Date: Aug 15, 2012 02:22 Subject: Re: [CLN-list] MinGW64 build To: "CLN discussion list" <cln-list@ginac.de <mailto:cln-list@ginac.de>> Cc:
Hi Alexei,
I've splitted the path into 10 parts. There is a bigger one that is only s/long/intptr_t/ and s/unsigned long/uintptr_t/ the rest is very small.
Hopefully this can now be applied.
> Ditto (the corresponding hunk is not quite optimal, though. {s,u}int32 > can be typedef'ed to {,u}int32_t => no need for ugly #if's).
I was thinking of this, however we need exactly the same underlying type as (u)intptr_t for the same sized integer to avoid compiler confusion. So in some cases (e.g. on i686 Linux) stdint.h might define int32_t as int and intptr_t as long and in this case the compiler will complain about multiple definition of the same function.
Bests, Robert
_______________________________________________ CLN-list mailing list CLN-list@ginac.de https://www.cebix.net/mailman/listinfo/cln-list