emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

feature/native-comp 5a228fe 1/2: Prevent false warning emission


From: Andrea Corallo
Subject: feature/native-comp 5a228fe 1/2: Prevent false warning emission
Date: Fri, 3 Jan 2020 11:56:03 -0500 (EST)

branch: feature/native-comp
commit 5a228fefb6f1d1932f452693ded660cd903f457d
Author: Andrea Corallo <address@hidden>
Commit: Andrea Corallo <address@hidden>

    Prevent false warning emission
---
 lisp/emacs-lisp/comp.el | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index de3b28e..77d47bd 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -1551,15 +1551,15 @@ This can run just once."
   "Given INSN when F is pure if all ARGS are known remove the function call."
   (when (and (get f 'pure) ; Can we just optimize pure here? See byte-opt.el
              (cl-every #'comp-mvar-const-vld args))
-    (condition-case err
-        (let ((val (apply f (mapcar #'comp-mvar-constant args))))
-          ;; See `comp-emit-set-const'.
-          (setf (car insn) 'setimm
-                (cddr insn) (list (comp-add-const-to-relocs val) val)))
-      ;; FIXME Should we crash?  At least we should complain once.
-      (t (message "Native compiler trying to move run-time error into \
-compile-time? %S calling %S inside function %S." err f
-(comp-func-name comp-func))))))
+    (ignore-errors
+      ;; No point to complain here because we should do basic block
+      ;; pruning in order to be sure that this is not dead-code.  This
+      ;; is now left to gcc, to be implemented only if we want a
+      ;; reliable diagnostic here.
+      (let ((val (apply f (mapcar #'comp-mvar-constant args))))
+        ;; See `comp-emit-set-const'.
+        (setf (car insn) 'setimm
+              (cddr insn) (list (comp-add-const-to-relocs val) val))))))
 
 (defun comp-propagate-insn (insn)
   "Propagate within INSN."



reply via email to

[Prev in Thread] Current Thread [Next in Thread]