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.
Here is the previous win64 patch set...
---------- Forwarded message ----------
From: "Robert Szalai" <robicjedi@gmail.com>
Date: Aug 15, 2012 02:22
Subject: Re: [CLN-list] MinGW64 build
To: "CLN discussion list" <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