(Fdo_auto_save, Fset_buffer_auto_saved)
(Fclear_buffer_auto_save_failure):
Don't assume time_t is signed, or that it fits in int.
+ * floatfns.c (Fexpt): Avoid undefined signed * signed overflow.
* fns.c (Fcompare_strings, Fstring_lessp, struct textprop_rec, concat)
(string_char_byte_cache_charpos, string_char_byte_cache_bytepos)
(string_char_to_byte, string_byte_to_char)
&& INTEGERP (arg2) /* don't promote, if both are ints, and */
&& 0 <= XINT (arg2)) /* we are sure the result is not fractional */
{ /* this can be improved by pre-calculating */
- EMACS_INT acc, x, y; /* some binary powers of x then accumulating */
+ EMACS_INT y; /* some binary powers of x then accumulating */
+ EMACS_UINT acc, x; /* Unsigned so that overflow is well defined. */
Lisp_Object val;
x = XINT (arg1);