aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/data.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/data.c b/src/data.c
index 5eceec4574f..686dffe114b 100644
--- a/src/data.c
+++ b/src/data.c
@@ -147,12 +147,12 @@ int sign_extend_temp;
147 147
148int 148int
149sign_extend_lisp_int (num) 149sign_extend_lisp_int (num)
150 int num; 150 EMACS_INT num;
151{ 151{
152 if (num & (1 << (VALBITS - 1))) 152 if (num & (((EMACS_INT) 1) << (VALBITS - 1)))
153 return num | ((-1) << VALBITS); 153 return num | (((EMACS_INT) (-1)) << VALBITS);
154 else 154 else
155 return num & ((1 << VALBITS) - 1); 155 return num & ((((EMACS_INT) 1) << VALBITS) - 1);
156} 156}
157 157
158/* Data type predicates */ 158/* Data type predicates */