summaryrefslogtreecommitdiffstats
path: root/src/libmp/port/mptov.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libmp/port/mptov.c')
-rw-r--r--src/libmp/port/mptov.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/libmp/port/mptov.c b/src/libmp/port/mptov.c
index 86da9943..b24b8e3e 100644
--- a/src/libmp/port/mptov.c
+++ b/src/libmp/port/mptov.c
@@ -28,10 +28,16 @@ vtomp(vlong v, mpint *b)
uv = v;
for(s = 0; s < VLDIGITS && uv != 0; s++){
b->p[s] = uv;
+ /* !@*$&!@$ gcc gives warnings about the >> here
+ * when running on 64-bit machines, even though
+ * it's in dead code. fake it out with two shifts.
if(sizeof(mpdigit) == sizeof(uvlong))
uv = 0;
else
uv >>= sizeof(mpdigit)*8;
+ */
+ uv >>= sizeof(mpdigit)*4;
+ uv >>= sizeof(mpdigit)*4;
}
b->top = s;
return b;