mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-02-20 07:00:31 -08:00
* Better long range check
* src/comp.c (emit_rvalue_from_emacs_uint) (emit_rvalue_from_emacs_int, emit_rvalue_from_lisp_word_tag) (emit_rvalue_from_lisp_word): Better long range check.
This commit is contained in:
parent
543e6e664c
commit
72e4a22391
1 changed files with 4 additions and 4 deletions
|
|
@ -1166,7 +1166,7 @@ emit_rvalue_from_unsigned_long_long (gcc_jit_type *type, unsigned long long n)
|
|||
static gcc_jit_rvalue *
|
||||
emit_rvalue_from_emacs_uint (EMACS_UINT val)
|
||||
{
|
||||
if (val != (long) val)
|
||||
if (val > LONG_MAX || val < LONG_MIN)
|
||||
return emit_rvalue_from_unsigned_long_long (comp.emacs_uint_type, val);
|
||||
else
|
||||
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
|
||||
|
|
@ -1177,7 +1177,7 @@ emit_rvalue_from_emacs_uint (EMACS_UINT val)
|
|||
static gcc_jit_rvalue *
|
||||
emit_rvalue_from_emacs_int (EMACS_INT val)
|
||||
{
|
||||
if (val != (long) val)
|
||||
if (val > LONG_MAX || val < LONG_MIN)
|
||||
return emit_rvalue_from_long_long (comp.emacs_int_type, val);
|
||||
else
|
||||
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
|
||||
|
|
@ -1187,7 +1187,7 @@ emit_rvalue_from_emacs_int (EMACS_INT val)
|
|||
static gcc_jit_rvalue *
|
||||
emit_rvalue_from_lisp_word_tag (Lisp_Word_tag val)
|
||||
{
|
||||
if (val != (long) val)
|
||||
if (val > LONG_MAX || val < LONG_MIN)
|
||||
return emit_rvalue_from_unsigned_long_long (comp.lisp_word_tag_type, val);
|
||||
else
|
||||
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
|
||||
|
|
@ -1203,7 +1203,7 @@ emit_rvalue_from_lisp_word (Lisp_Word val)
|
|||
comp.lisp_word_type,
|
||||
val);
|
||||
#else
|
||||
if (val != (long) val)
|
||||
if (val > LONG_MAX || val < LONG_MIN)
|
||||
return emit_rvalue_from_unsigned_long_long (comp.lisp_word_type, val);
|
||||
else
|
||||
return gcc_jit_context_new_rvalue_from_long (comp.ctxt,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue