[PATCH] support for mingw-w64
sezeroz at gmail.com
Fri Sep 11 12:21:52 CEST 2009
On Fri, Sep 11, 2009 at 12:49 PM, Torbjorn Granlund <tg at gmplib.org> wrote:
> Ozkan Sezer <sezeroz at gmail.com> writes:
> On Fri, Sep 11, 2009 at 12:26 PM, Torbjorn Granlund <tg at gmplib.org> wrote:
> > Thanks for the GMP patch!
> > Comments:
> > * We unfortunately cannot use intptr_t unconditionally, since it is not
> > available everywhere we want GMP to work; it is a C99 feature.
> > I wonder if size_t could be used instead? While perhaps not elegant,
> > it should work. Does anybody see any problem?
> Hmm, ssize_t would be a better choice, IMHO, for matched
> signedness, but ..
> Is ssize_t standard? Is signedness really depended upon? (And what is
> a signed pointer, anyway?)
> > (Alternatively, we could define our own little type, gmp_intptr_t
> > which we set up in gmp-impl.h. There are some precedents in that
> > file.)
> .. this would surely be a much better solution.
> Are you willing to implement and test it?
On Fri, Sep 11, 2009 at 12:57 PM, Niels Möller <nisse at lysator.liu.se> wrote:
> Torbjorn Granlund <tg at gmplib.org> writes:
>> * We unfortunately cannot use intptr_t unconditionally, since it is not
>> available everywhere we want GMP to work; it is a C99 feature.
>> I wonder if size_t could be used instead? While perhaps not elegant,
>> it should work. Does anybody see any problem?
> Another alternative is ptrdiff_t. My understanding is that this is
> fairly portable in both theory and practice.
That's perfectly fine with us if it is agreed upon.
If not, I may find some time to try adding a
> > * Why is it necessarly to pass -std=c99 to gcc?
> > Passing this flag to gcc might be a good idea for all configurations,
> > but then it should better be done using a global feature test, perhaps
> > via our _opt flags mechanism. Setting a globally avaiblable flags for
> > one platform seems wrong.
> Without c99 mode, gcc, rightfully, emits _a lot_ of warnings like:
> fib_table.c:12:1: warning: use of C99 long long integer constant
> .. which is because of long long.
> If you want to make it global for all targets, I have no problems
> with that at all.
> It does? I've used longlong loads of time and GCC has been silent like
> a lamb.
I can send you a camera shot of my screen if you want ;)
> > Did you write this patch yourself? It is large enough to be covered by
> Updated an old patch
> Written by whom?
It was an old patch against gmp-4.2.2 posted at the mingw-w64
site which no one remembers the original author any longer. I
can get responsibility for this one and can contact fsf for extending
my paperwork for gmp if the discussion is settled and if a form
of the patch is found acceptable.
More information about the gmp-devel