> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/mpir-devel/-/MCgGFdS3qAsJ.
> To post to this group, send email to mpir-...@googlegroups.com.
> To unsubscribe from this group, send email to
> mpir-devel+...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/mpir-devel?hl=en.
>
Sounds good and simple , the only possible drawback is weird things like this
from gmp-in.h
/* __GMP_USHRT_MAX is not "~ (unsigned short) 0" because short is promoted
to int by "~". */
#define __GMP_UINT_MAX (~ (unsigned) 0)
#define __GMP_ULONG_MAX (~ (unsigned long) 0)
#define __GMP_USHRT_MAX ((unsigned short) ~0)
although the integer type are always? promoted to bigger not smaller types
Jason
I'm willing to test.
casevh
>
> --
> You received this message because you are subscribed to the Google Groups
> "mpir-devel" group.
> To view this discussion on the web visit
> https://groups.google.com/d/msg/mpir-devel/-/h0iAqcgbx8EJ.
I would be willing to test it out in my WinXPx64/Msys/Mingw64 environment.
-David C.
> Since this version involves a lot of changes, we need an extended testing
> period so we need volunteers who are willing to build it, test it and use
> it in some applications.
I can do that.
Cheers,
Rob
Hello all,
I am using mingw64 as my compiler inside an msys shell. I recently downloaded
the experimental branch from svn and got version 3752.
I ran './configure --enable-gmpcompat' and have come across a problem.
Basically nothing is defined inside of config.h. Everything has an #undef in
front of it. The 'configure' script is the same, line-for-line, as the one in
the mpir-2.5.0-rc1 directory. Even config.log is the same in both directories.
Can someone help me track down why nothing is defined in config.h? What
information would help track this down?
-David C.
P.S. I did try copying the config.h from the rc1 directory to the exp
directory, but 'make' eventually ran into a problem. I think if we can figure
out the config.h problem, it should help alleviate this later problem.
> You
> will also ned to overwrite mpir.h with the version attached here (I
> overlooked this when making the ZIP file).
But isn't mpir.h built by the configure process ?
It's not in the top-level directory of the svn source that I downloaded, but
*does* appear there after./configure has been run.
If that's so, then we would need to introduce that mpir.h into the build
*after* we've run ./configure - which is a dubious practice. (Introducing it
prior to ./configure would be equally dubious - and I'm guessing it would
only get overwritten anyway.)
Not sure if that has anything to do with the problem that David is
experiencing, and I won't have time to take a look for a day or two.
(Sorry if I've missed something, and am being stupid.)
Cheers,
Rob
All of the following is based on svn 3757.
Alright, I finally found out why nothing was defined in my config.h. It turns
out that the config.in file has CRLF line endings in this experimental
directory, but it only has the LF line endings in the 2.5.0-rc1 directory. This
caused my tools to not properly process the config.in file into a config.h file.
Brian, can you check to see if there are CRLF line endings in the svn? Or
maybe my svn client changed the line endings when I downloaded it? If it is
CRLF in the svn repository, can we change that to LF?
Then, when that was fixed, I ran 'make' which went until the mpq directory and
came to an error with the mpq/cmp_ui.c/mpq_cmp_ui function saying it was
different from the mpir.h definition (on my mpir.h line 1252).
mpir.h has:
__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, gmp_si, gmp_si))
__GMP_ATTRIBUTE_PURE;
and mpq/cmp_ui.c has:
_mpq_cmp_ui (mpq_srcptr op1, gmp_ui num2, gmp_ui den2)
I think the definition in mpir.h should be changed to:
__GMP_DECLSPEC int _mpq_cmp_ui __GMP_PROTO ((mpq_srcptr, gmp_ui, gmp_ui))
__GMP_ATTRIBUTE_PURE;
To match what is in the mpq/cmp_ui.c file.
Then, once I changed mpir.h to match the mpq/cmp_ui.c, both 'make' and 'make
check' ran successfully to completion. [except for my printf issue, of course ;) ]
On a different, but related note, with both the 2.5.0-rc1 and this 2.5.0-exp, I
have seen various warning messages scroll by, such as:
warning: cast from pointer to integer of different size
warning: overflow in implicit constant conversion
warning: initialization from incompatible pointer type
warning: passing argument 1 of '__gmpz_get_d_2exp' from incompatible pointer type
warning: integer overflow in expression
warning: assignment from incompatible pointer type
warning: passing argument 1 of '__gmpf_get_d_2exp' from incompatible pointer type
I only see these messages when running 'make check', and all of the tests in
'make check' pass. So, maybe this isn't anything to worry about? But, if you'd
like, I can go through and find each one and write back with a list of changes
that would be needed.
-David C.
P.S. I didn't copy the mpir.h file from one of your previous posts. That isn't
needed any more, is it?
> Or maybe my svn client changed the line endings when I downloaded it?
That's what's happened. Cygwin's svn faithfully reproduces the files, if you
have it available.
If not, I would hope that there is a way to turn that "feature" off on your
version of svn, so that every file is downloaded "as is" (in binary mode,
not text mode).
Cheers,
Rob
I found a way to update the configure file so that if it encounters CRLF line
endings in the config.in file, it will strip out the CR and then proceed
normally. Would this be an acceptable solution so that it doesn't matter what
svn client was used for the download?
I am including the diff between the original 'configure' and the new
'configure'. This diff is based off of svn 3759.
$ diff configure configure.new
29942c29942,29943
< /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
---
> /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\r\$|\$)/ {
> sub(/\r\$/,"")
32965c32966,32967
< /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
---
> /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\r\$|\$)/ {
> sub(/\r\$/,"")
35994c35996,35997
< /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
---
> /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\r\$|\$)/ {
> sub(/\r\$/,"")
I would be interested to know if this works for others in their environments.
-David C.
The distributed versions and rc* one are automatically fixed of LFCR problems , it's just the svn that isn't , although every time
certain autotools/scripts are run they get fixed
thanks , but configure is a machine generated file from configure.in and autotools , so this would
not be very useful , I think autotools will fix it soon , in the next mpir we will be upgrading to the latest
autotools anyway. the script regen in the develop directory will do this sort sort of correction and also fill
in missing files etc
Thanks
Jason