[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gcl-devel] More Code Cleanup...
From: |
Robert Alan Byer |
Subject: |
Re: [Gcl-devel] More Code Cleanup... |
Date: |
Sat, 22 Dec 2001 19:54:01 -0500 |
-----BEGIN PGP SIGNED MESSAGE-----
>
>> Also, while compiling gcl/gmp/random.c under OpenVMS I got the following
>> warning.
>>
>> return mrand48 () | (mrand48 () << 32);
>> .......................^
>> %CC-W-SHIFTCOUNT, In this statement, the shift count "32" is negative
>> or is
>> greater than or equal to the promoted size of the operand
>> "mrand48(...)".
>> at line number 38 in file DISK$WORK:[TEST.GCL.GMP]URANDOM.H;1
>>
>> and also got the same above error when compiling gcl/gmp/mpz/random.c
>>
>
>This looks a little alarming. It would appear that there is some
>fixed size misconfiguration going on. My 32 bit machine does not
>select this version of random.c, so I don't have this code in my
>build. Perhaps you can see what type mrand48 is declared, and why the
>code thinks it can shift it be 32 bits. (It would seem that a 48bit
>object would be a likely candidate. But apparently the compiler does
>not agree.)
>
I've tracked this down and have fixed it. The reason was because on
Tru64 Alpha the "random()" function returns a double and it was shifting
it down to 32-bits.
I just changed the #ifdef to check for OpenVMS and if so igore that part of
the code and have it use another definition, which it does (just like the VAX
version does) and I don't get the warning.
To MAKE SURE that I didn't break anything in the process I recompiled
everything on OpenVMS VAX and OpenVMS Alpha and ran the tests and they
all passed and no compiler warnings.
Here's a summary...
MPN Test: OpenVMS Alpha: OpenVMS VAX:
ADDMUL_1 PASS PASS
ADD_N PASS PASS
COPY PASS PASS
DIVMOD_1 PASS PASS
LSHIFT PASS PASS
MUL_1 PASS PASS
RSHIFT PASS PASS
SUBMUL_1 PASS PASS
SUB_N PASS PASS
TST-ADDSUB PASS PASS
(Note: The MPN tests arn't built on Tru64 so I don't know if they work)
MPZ Test: Tru64 Alpha: OpenVMS Alpha: OpenVMS VAX:
T-MUL PASS PASS PASS
T-TDIV PASS PASS PASS
T-TDIV_UI PASS PASS PASS
T-FDIV PASS PASS PASS
T-FDIV_UI PASS PASS PASS
T-GCD FAIL FAIL FAIL
DIVE PASS PASS PASS
T-SQRTREM FAIL FAIL FAIL
CONVERT PASS PASS PASS
IO PASS PASS PASS
LOGIC PASS PASS PASS
BIT PASS PASS PASS
T-POW FAIL FAIL FAIL
T-POWM FAIL FAIL FAIL
T-POWM_UI FAIL FAIL FAIL
T-2EXP PASS PASS PASS
REUSE FAIL FAIL FAIL
T-ROOT PASS PASS PASS
T-JAC FAIL FAIL FAIL
T-BIN FAIL FAIL FAIL
T-MISC PASS PASS PASS
So the OpenVMS Alpha and OpenVMS VAX versions both PASS all the
tests that the Tru64 Alpha GMP tests pass (as well as others have reported
to pass).
It would be good to determine which of the above tests are good indications
of a working GMP library.
So this is good news as it now looks like we'll have the VAX platform for
OpenVMS as well as Alpha for GCL.
+------------------+--------------------------+---------------+
| Robert Alan Byer | address@hidden | ICQ #65926579 |
+------------------+--------------------------+---------------+
| Send an E-mail request to obtain a copy of my PGP key. |
+-------------------------------------------------------------+
| "It is by caffeine alone I set my mind in motion. It is by |
| cans of cola the thoughts aquire speed, the hands acquire |
| shakes, the shakes become a warning. It is by caffeine |
| alone I set my mind in motion." |
+-------------------------------------------------------------+
-----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia
Charset: noconv
iQEVAwUBPCUrJKVSqzlBVJbBAQH3pggAxMkxinuMza85/cgkJ9P3c1hwi/u2Ztlr
GKW9ovTzLpNYUrZ5IPK6DZkJ7Qr1MhuoBYJef0TSlFyWhBPX6lc4GbFleqbh2UVb
hFWX9A4H2H3DRqLuVAQXK3YGZCFhwAuFQBSxeCboFHge19rNhBsUZeKI8MK+glhQ
hwVnsVoVDiXmZOfw0vYut9XNNQW5R51r2AKtOs2NS6XZ0dk3bSlH0T6y9pr9j6Ja
61z7dHAqAf7m7a0cG6moEUgrcgrhdgzyTLJlDB8FGb8KoRyxDeMrvS5bSHgHmMZp
jSC031r5mZ9gUfgL8+VtVnJReNjX+ZQsGG2GzrkFjwJKDMT0C+bk6A==
=N0/X
-----END PGP SIGNATURE-----