Fix compilation errors due to insufficient compiler safety (bug#63288)
The default safety level is 1. Restoring the default safety level to 1 after it was temporarily 0 should reset byte-compile-delete-errors to nil, its default level. Failing to do that resulted in miscompilation of code in highly-parallel builds. * lisp/emacs-lisp/cl-macs.el (cl--do-proclaim): Change 'byte-compile-delete-errors' to become t only at 'safety' level 0, not levels 1 or 2.
This commit is contained in:
parent
fd5dbea21b
commit
53a5dada41
1 changed files with 1 additions and 1 deletions
|
@ -2701,7 +2701,7 @@ Example:
|
|||
(let ((speed (assq (nth 1 (assq 'speed (cdr spec)))
|
||||
'((0 nil) (1 t) (2 t) (3 t))))
|
||||
(safety (assq (nth 1 (assq 'safety (cdr spec)))
|
||||
'((0 t) (1 t) (2 t) (3 nil)))))
|
||||
'((0 t) (1 nil) (2 nil) (3 nil)))))
|
||||
(if speed (setq cl--optimize-speed (car speed)
|
||||
byte-optimize (nth 1 speed)))
|
||||
(if safety (setq cl--optimize-safety (car safety)
|
||||
|
|
Loading…
Add table
Reference in a new issue