aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrea Corallo2021-01-09 12:24:15 +0100
committerAndrea Corallo2021-01-09 14:05:15 +0100
commit42ff68ec2f1149704da59fd692fafb095a44cce2 (patch)
treea8bb35136fc185404aabf7dcf93cde47f53eff8b
parent325c0765dfa4ef363d4f29650568bdafce0f0971 (diff)
downloademacs-42ff68ec2f1149704da59fd692fafb095a44cce2.tar.gz
emacs-42ff68ec2f1149704da59fd692fafb095a44cce2.zip
Improve `comp-libgccjit-reproducer'
* src/comp.c (Fcomp__compile_ctxt_to_file): Better libgccjit reproducer file name. * lisp/emacs-lisp/comp.el (comp-libgccjit-reproducer): Doc update. (comp-final, comp-run-async-workers): Pass `comp-libgccjit-reproducer' setting to child workers.
-rw-r--r--lisp/emacs-lisp/comp.el6
-rw-r--r--src/comp.c2
2 files changed, 5 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 79cf942e89d..d5ca3b00049 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -138,8 +138,8 @@ and above."
138 138
139(defcustom comp-libgccjit-reproducer nil 139(defcustom comp-libgccjit-reproducer nil
140 "When non-nil produce a libgccjit reproducer. 140 "When non-nil produce a libgccjit reproducer.
141The reproducer is a file comp_SRCNAME_repro.c deposed in the .eln 141The reproducer is a file ELNFILENAME_libgccjit_repro.c deposed in
142output directory." 142the .eln output directory."
143 :type 'boolean) 143 :type 'boolean)
144 144
145(defvar comp-dry-run nil 145(defvar comp-dry-run nil
@@ -3543,6 +3543,7 @@ Prepare every function for final compilation and drive the C back-end."
3543 (expr `(progn 3543 (expr `(progn
3544 (require 'comp) 3544 (require 'comp)
3545 (setf comp-verbose ,comp-verbose 3545 (setf comp-verbose ,comp-verbose
3546 comp-libgccjit-reproducer ,comp-libgccjit-reproducer
3546 comp-ctxt ,comp-ctxt 3547 comp-ctxt ,comp-ctxt
3547 comp-eln-load-path ',comp-eln-load-path 3548 comp-eln-load-path ',comp-eln-load-path
3548 comp-native-driver-options 3549 comp-native-driver-options
@@ -3795,6 +3796,7 @@ display a message."
3795 (setf comp-speed ,comp-speed 3796 (setf comp-speed ,comp-speed
3796 comp-debug ,comp-debug 3797 comp-debug ,comp-debug
3797 comp-verbose ,comp-verbose 3798 comp-verbose ,comp-verbose
3799 comp-libgccjit-reproducer ,comp-libgccjit-reproducer
3798 comp-async-compilation t 3800 comp-async-compilation t
3799 comp-eln-load-path ',comp-eln-load-path 3801 comp-eln-load-path ',comp-eln-load-path
3800 comp-native-driver-options 3802 comp-native-driver-options
diff --git a/src/comp.c b/src/comp.c
index f6445a7621d..619f5e1b65f 100644
--- a/src/comp.c
+++ b/src/comp.c
@@ -4431,7 +4431,7 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file,
4431 if (!NILP (Fsymbol_value (Qcomp_libgccjit_reproducer))) 4431 if (!NILP (Fsymbol_value (Qcomp_libgccjit_reproducer)))
4432 gcc_jit_context_dump_reproducer_to_file ( 4432 gcc_jit_context_dump_reproducer_to_file (
4433 comp.ctxt, 4433 comp.ctxt,
4434 format_string ("comp_%s_repro.c", SSDATA (base_name))); 4434 format_string ("%s_libgccjit_repro.c", SSDATA (base_name)));
4435 4435
4436 Lisp_Object tmp_file = 4436 Lisp_Object tmp_file =
4437 Fmake_temp_file_internal (base_name, Qnil, build_string (".eln.tmp"), Qnil); 4437 Fmake_temp_file_internal (base_name, Qnil, build_string (".eln.tmp"), Qnil);