]> git.eshelyaron.com Git - emacs.git/commitdiff
Rework native compilation `comp-debug' (bug#46495)
authorAndrea Corallo <akrl@sdf.org>
Wed, 31 Mar 2021 18:13:46 +0000 (20:13 +0200)
committerAndrea Corallo <akrl@sdf.org>
Wed, 31 Mar 2021 18:25:08 +0000 (20:25 +0200)
* lisp/emacs-lisp/comp.el (comp-debug): Update docstring and
move default on Windows systems from 0 to 1.
* src/comp.c (Fcomp__compile_ctxt_to_file): Tweak debug
levels.

lisp/emacs-lisp/comp.el
src/comp.c

index 2f9738a7e20d2826f2ba98c41aa00f882de9084b..59e9dbc01382bfd4cb2ccf250ba392b0d660ca81 100644 (file)
   :safe #'integerp
   :version "28.1")
 
-(defcustom comp-debug 0
+(defcustom comp-debug (if (eq 'windows-nt system-type) 1 0)
   "Debug level for native compilation, a number between 0 and 3.
 This is intended for debugging the compiler itself.
-  0 no debugging output.
-    This is the recommended value unless you are debugging the compiler itself.
-  1 emit debug symbols and dump pseudo C code.
-  2 dump gcc passes.
-  3 dump libgccjit log file."
+  0 no debug output.
+  1 emit debug symbols.
+  2 emit debug symbols and dump pseudo C code.
+  3 emit debug symbols and dump: pseudo C code, GCC intermediate
+  passes and libgccjit log file."
   :type 'integer
   :safe #'natnump
   :version "28.1")
index b286f6077f3e1ba98855a99a1587edfc355f0f3d..a87a8f30c35a366237b912cabffa9e44ba6cdfb6 100644 (file)
@@ -4431,7 +4431,7 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file,
       gcc_jit_context_set_bool_option (comp.ctxt,
                                       GCC_JIT_BOOL_OPTION_DEBUGINFO,
                                       1);
-  if (comp.debug > 2)
+  if (comp.debug >= 3)
     {
       logfile = emacs_fopen ("libgccjit.log", "w");
       gcc_jit_context_set_logfile (comp.ctxt,
@@ -4493,7 +4493,7 @@ DEFUN ("comp--compile-ctxt-to-file", Fcomp__compile_ctxt_to_file,
 
   add_driver_options ();
 
-  if (comp.debug)
+  if (comp.debug >= 1)
       gcc_jit_context_dump_to_file (comp.ctxt,
                                    format_string ("%s.c", SSDATA (ebase_name)),
                                    1);