]> git.eshelyaron.com Git - emacs.git/commitdiff
* Emit better debug comments in emit_static_object
authorAndrea Corallo <akrl@sdf.org>
Sun, 31 May 2020 11:22:46 +0000 (12:22 +0100)
committerAndrea Corallo <akrl@sdf.org>
Sun, 31 May 2020 16:27:15 +0000 (17:27 +0100)
* src/comp.c (emit_static_object): Do not truncate debug
comments at the first NULL character.

src/comp.c

index d3bff1e4cfe5e6b0d05f04196c4266b3a2cbcf9f..f288fc2551a20fdbf685e1287d0d1319c80dfe71 100644 (file)
@@ -2392,8 +2392,15 @@ emit_static_object (const char *name, Lisp_Object obj)
                                  0, NULL, 0);
   DECL_BLOCK (block, f);
 
-  /* NOTE this truncates if the data has some zero byte before termination.  */
-  gcc_jit_block_add_comment (block, NULL, p);
+  if (COMP_DEBUG > 1)
+    {
+      char *comment = memcpy (xmalloc (len), p, len);
+      for (ptrdiff_t i = 0; i < len - 1; i++)
+       if (!comment[i])
+         comment[i] = '\n';
+      gcc_jit_block_add_comment (block, NULL, comment);
+      xfree (comment);
+    }
 
   gcc_jit_lvalue *arr =
       gcc_jit_lvalue_access_field (data_struct, NULL, fields[1]);