diff options
Diffstat (limited to 'lisp')
-rw-r--r-- | lisp/emacs-lisp/comp-cstr.el | 3 | ||||
-rw-r--r-- | lisp/emacs-lisp/comp.el | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/lisp/emacs-lisp/comp-cstr.el b/lisp/emacs-lisp/comp-cstr.el index 651c7b7931e..1afb928e10c 100644 --- a/lisp/emacs-lisp/comp-cstr.el +++ b/lisp/emacs-lisp/comp-cstr.el @@ -179,6 +179,9 @@ Return them as multiple value." (defvar comp-cstr-one (comp-value-to-cstr 1) "Represent the integer immediate one.") +(defvar comp-cstr-t (comp-type-to-cstr t) + "Represent the superclass t.") + ;;; Value handling. diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index d2e0d0fb79d..02a9f4ae1ff 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -2513,6 +2513,9 @@ TARGET-BB-SYM is the symbol name of the target block." do (signal 'native-ice (list "Incoherent type specifier for function" f)) when (and target + ;; No need to add call constraints if this is t + ;; (bug#45812 bug#45705 bug#45751). + (not (equal comp-cstr-t cstr)) (or (null lhs) (not (eql (comp-mvar-slot lhs) (comp-mvar-slot target))))) |