I've replaced it with a macro. The poor man's portable inline.

This seems to work (after correcting a bug in my first attempt). So
hopefully that bug is knocked on the head.

Once Brian is happy that Windows is doing what it is supposed to, and
I've removed the internal symbol conflicts with flint, I'll issue
another alpha.

Bill.

On 13 October 2012 00:16, Bill Hart <[email protected]> wrote:
> Ah nice. This fix of course causes all sorts of multiple symbol clashes on 
> ia64.
>
> Back to the drawing board.
>
> Bill.
>
> On 13 October 2012 00:10, Bill Hart <[email protected]> wrote:
>> I decided to just leave it where it was and define it __inline__ on
>> *nix and __inline on MSVC. Apparently this is not completely portable,
>> but we can deal with any issues if and when they arise. I suspect
>> there will only be issues on machines whose vendors went out of
>> business years ago.
>>
>> Bill.
>>
>> On 12 October 2012 23:48, Bill Hart <[email protected]> wrote:
>>> On 7 October 2012 04:10, leif <[email protected]> wrote:
>>>> With GCC 4.7.0 (and CFLAGS="-O0 -finline-functions -fschedule-insns", since
>>>> this version is severely broken on Itanium) I get:
>>>>
>>>> libtool: link: ranlib .libs/libtests.a
>>>> libtool: link: ( cd ".libs" && rm -f "libtests.la" && ln -s 
>>>> "../libtests.la"
>>>> "libtests.la" )
>>>> gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../../mpir-2.6.0-alpha1/tests -I..
>>>> -I../../mpir-2.6.0-alpha1    -O0 -finline-functions -fschedule-insns -c
>>>> ../../mpir-2.6.0-alpha1/tests/t-bswap.c
>>>> /bin/sh ../libtool --tag=CC   --mode=link gcc -std=gnu99  -O0
>>>> -finline-functions -fschedule-insns   -o t-bswap t-bswap.o libtests.la
>>>> ../libmpir.la
>>>> libtool: link: gcc -std=gnu99 -O0 -finline-functions -fschedule-insns -o
>>>> .libs/t-bswap t-bswap.o  ./.libs/libtests.a
>>>> /home/leif/src/mpir-2.6.0-alpha1-build.iras-gcc-4.7.0/.libs/libmpir.so -lm
>>>> ../.libs/libmpir.so
>>>> /home/leif/src/mpir-2.6.0-alpha1-build.iras-gcc-4.7.0/.libs/libmpir.so:
>>>> undefined reference to `mpn_addmod_2expp1_1'
>>>> collect2: error: ld returned 1 exit status
>>>> make[4]: *** [t-bswap] Error 1
>>>> make[4]: Leaving directory
>>>> `/home/leif/src/mpir-2.6.0-alpha1-build.iras-gcc-4.7.0/tests'
>>>> make[3]: *** [check-am] Error 2
>>>> make[3]: Leaving directory
>>>> `/home/leif/src/mpir-2.6.0-alpha1-build.iras-gcc-4.7.0/tests'
>>>> make[2]: *** [check-recursive] Error 1
>>>> make[2]: Leaving directory
>>>> `/home/leif/src/mpir-2.6.0-alpha1-build.iras-gcc-4.7.0/tests'
>>>> make[1]: *** [check-recursive] Error 1
>>>> make[1]: Leaving directory
>>>> `/home/leif/src/mpir-2.6.0-alpha1-build.iras-gcc-4.7.0'
>>>> make: *** [check] Error 2
>>>>
>>>
>>> It's pointless trying to build anything with gcc 4.7.0. It's a totally
>>> useless version of the compiler.
>>>
>>> Having said that, the function in question is a GMP_EXTERN_INLINE
>>> function defined in gmp-impl.h. Unfortunately, GMP_EXTERN_INLINE is
>>> not defined in gmp-impl.h.
>>>
>>> I'll move the definition into gmp-h.in where it is actually defined.
>>>
>>> I've no idea why this worked everywhere else but not on this system.
>>> It could still be a compiler bug of course.
>>>
>>>>
>>>> Btw, invalid options to 'configure' (e.g. '--enable-gmp-compat' or
>>>> '--enable-foo') are silently ignored, even with '-v'; probably just some
>>>> (newer) autotools "feature"...
>>>
>>> I think we possibly do this deliberately as some options need to be
>>> passed to yasm's configure.
>>>
>>> If you can give me a list of all possible invalid options users will
>>> type, I'll make sure they are excluded. (Just joking.)
>>>
>>> Bill.
>>>
>>>>
>>>>
>>>> -leif
>>>>
>>>>
>>>>
>>>>>
>>>>> Thank you to the all people who made comments on our development list,
>>>>> who provided bug reports and helped with testing. This includes, but
>>>>> is probably not limited to Case van Horsen, David Cleaver, Pavel
>>>>> Holoborodko and Sisyphus.
>>>>>
>>>>> A full list of code contributions to MPIR can be found in the AUTHORS
>>>>> file in the source tarball.
>>>>>
>>>>> Best Wishes,
>>>>>
>>>>> The MPIR Team.
>>>>
>>>>
>>>> --
>>>> () The ASCII Ribbon Campaign
>>>> /\   Help Cure HTML E-Mail
>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google Groups
>>>> "mpir-devel" group.
>>>> To post to this group, send email to [email protected].
>>>> To unsubscribe from this group, send email to
>>>> [email protected].
>>>> For more options, visit this group at
>>>> http://groups.google.com/group/mpir-devel?hl=en.
>>>>

-- 
You received this message because you are subscribed to the Google Groups 
"mpir-devel" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/mpir-devel?hl=en.

Reply via email to