* Add `comp-disabled-passes'

* lisp/emacs-lisp/comp.el (comp-disabled-passes): New special
	variable.
	(native-compile): Make use of `comp-disabled-passes'.
This commit is contained in:
Andrea Corallo 2020-07-08 14:23:09 +01:00
parent 92e744d787
commit 9aaca828fc

View file

@ -173,6 +173,10 @@ Can be one of: 'd-default', 'd-impure' or 'd-ephemeral'. See `comp-ctxt'.")
comp-final)
"Passes to be executed in order.")
(defvar comp-disabled-passes '()
"List of disabled passes.
For internal use only by the testsuite.")
(defvar comp-post-pass-hooks ()
"Alist PASS FUNCTIONS.
Each function in FUNCTIONS is run after PASS.
@ -2684,12 +2688,13 @@ Return the compilation unit file name."
(comp-log "\n \n" 1)
(condition-case err
(mapc (lambda (pass)
(comp-log (format "(%s) Running pass %s:\n"
function-or-file pass)
2)
(setf data (funcall pass data))
(cl-loop for f in (alist-get pass comp-post-pass-hooks)
do (funcall f data)))
(unless (memq pass comp-disabled-passes)
(comp-log (format "(%s) Running pass %s:\n"
function-or-file pass)
2)
(setf data (funcall pass data))
(cl-loop for f in (alist-get pass comp-post-pass-hooks)
do (funcall f data))))
comp-passes)
(native-compiler-error
;; Add source input.