diff options
Diffstat (limited to 'src/comp.c')
| -rw-r--r-- | src/comp.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/comp.c b/src/comp.c index 0ab7ab600a4..ce9c387568a 100644 --- a/src/comp.c +++ b/src/comp.c | |||
| @@ -1166,7 +1166,7 @@ emit_rvalue_from_unsigned_long_long (gcc_jit_type *type, unsigned long long n) | |||
| 1166 | static gcc_jit_rvalue * | 1166 | static gcc_jit_rvalue * |
| 1167 | emit_rvalue_from_emacs_uint (EMACS_UINT val) | 1167 | emit_rvalue_from_emacs_uint (EMACS_UINT val) |
| 1168 | { | 1168 | { |
| 1169 | if (val != (long) val) | 1169 | if (val > LONG_MAX || val < LONG_MIN) |
| 1170 | return emit_rvalue_from_unsigned_long_long (comp.emacs_uint_type, val); | 1170 | return emit_rvalue_from_unsigned_long_long (comp.emacs_uint_type, val); |
| 1171 | else | 1171 | else |
| 1172 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, | 1172 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, |
| @@ -1177,7 +1177,7 @@ emit_rvalue_from_emacs_uint (EMACS_UINT val) | |||
| 1177 | static gcc_jit_rvalue * | 1177 | static gcc_jit_rvalue * |
| 1178 | emit_rvalue_from_emacs_int (EMACS_INT val) | 1178 | emit_rvalue_from_emacs_int (EMACS_INT val) |
| 1179 | { | 1179 | { |
| 1180 | if (val != (long) val) | 1180 | if (val > LONG_MAX || val < LONG_MIN) |
| 1181 | return emit_rvalue_from_long_long (comp.emacs_int_type, val); | 1181 | return emit_rvalue_from_long_long (comp.emacs_int_type, val); |
| 1182 | else | 1182 | else |
| 1183 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, | 1183 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, |
| @@ -1187,7 +1187,7 @@ emit_rvalue_from_emacs_int (EMACS_INT val) | |||
| 1187 | static gcc_jit_rvalue * | 1187 | static gcc_jit_rvalue * |
| 1188 | emit_rvalue_from_lisp_word_tag (Lisp_Word_tag val) | 1188 | emit_rvalue_from_lisp_word_tag (Lisp_Word_tag val) |
| 1189 | { | 1189 | { |
| 1190 | if (val != (long) val) | 1190 | if (val > LONG_MAX || val < LONG_MIN) |
| 1191 | return emit_rvalue_from_unsigned_long_long (comp.lisp_word_tag_type, val); | 1191 | return emit_rvalue_from_unsigned_long_long (comp.lisp_word_tag_type, val); |
| 1192 | else | 1192 | else |
| 1193 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, | 1193 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, |
| @@ -1203,7 +1203,7 @@ emit_rvalue_from_lisp_word (Lisp_Word val) | |||
| 1203 | comp.lisp_word_type, | 1203 | comp.lisp_word_type, |
| 1204 | val); | 1204 | val); |
| 1205 | #else | 1205 | #else |
| 1206 | if (val != (long) val) | 1206 | if (val > LONG_MAX || val < LONG_MIN) |
| 1207 | return emit_rvalue_from_unsigned_long_long (comp.lisp_word_type, val); | 1207 | return emit_rvalue_from_unsigned_long_long (comp.lisp_word_type, val); |
| 1208 | else | 1208 | else |
| 1209 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, | 1209 | return gcc_jit_context_new_rvalue_from_long (comp.ctxt, |