Merge from origin/emacs-28

69e82968d7 Fix integer arithmetic miss-compilation (bug#53451)
31af9bca99 Mark flymake as compatible with emacs-26.1
This commit is contained in:
Stefan Kangas 2022-02-10 06:56:22 +01:00
commit 35bf8d4a02
3 changed files with 24 additions and 15 deletions

View file

@ -454,18 +454,20 @@ Return them as multiple value."
(declare (debug (range-body))
(indent defun))
`(with-comp-cstr-accessors
(when-let ((r1 (range ,src1))
(r2 (range ,src2)))
(let* ((l1 (comp-cstr-smallest-in-range r1))
(l2 (comp-cstr-smallest-in-range r2))
(h1 (comp-cstr-greatest-in-range r1))
(h2 (comp-cstr-greatest-in-range r2)))
(setf (typeset ,dst) (when (cl-some (lambda (x)
(comp-subtype-p 'float x))
(append (typeset src1)
(typeset src2)))
'(float))
(range ,dst) ,@range-body)))))
(if (or (neg src1) (neg src2))
(setf (typeset ,dst) '(number))
(when-let ((r1 (range ,src1))
(r2 (range ,src2)))
(let* ((l1 (comp-cstr-smallest-in-range r1))
(l2 (comp-cstr-smallest-in-range r2))
(h1 (comp-cstr-greatest-in-range r1))
(h2 (comp-cstr-greatest-in-range r2)))
(setf (typeset ,dst) (when (cl-some (lambda (x)
(comp-subtype-p 'float x))
(append (typeset src1)
(typeset src2)))
'(float))
(range ,dst) ,@range-body))))))
(defun comp-cstr-add-2 (dst src1 src2)
"Sum SRC1 and SRC2 into DST."

View file

@ -4,9 +4,9 @@
;; Author: Pavel Kobyakov <pk_at_work@yahoo.com>
;; Maintainer: João Távora <joaotavora@gmail.com>
;; Version: 1.2.1
;; Version: 1.2.2
;; Keywords: c languages tools
;; Package-Requires: ((emacs "28.1") (eldoc "1.1.0") (project "0.7.1"))
;; Package-Requires: ((emacs "26.1") (eldoc "1.1.0") (project "0.7.1"))
;; This is a GNU ELPA :core package. Avoid functionality that is not
;; compatible with the version of Emacs recorded above.

View file

@ -1369,7 +1369,14 @@ Return a list of results."
(when (eql x 1.0)
(error ""))
x)
t)))
t)
;; 74
((defun comp-tests-ret-type-spec-f (x)
(if (eq x 0)
(error "")
(1+ x)))
number)))
(defun comp-tests-define-type-spec-test (number x)
`(comp-deftest ,(intern (format "ret-type-spec-%d" number)) ()