[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Preview: portable dumper

From: Alan Third
Subject: Re: Preview: portable dumper
Date: Thu, 15 Feb 2018 19:30:47 +0000
User-agent: Mutt/1.9.3 (2018-01-21)

On Wed, Feb 14, 2018 at 04:49:43PM -0800, Daniel Colascione wrote:
> Thanks. I've pushed a fix, I think.

Got some more. I had to make this change:

modified   src/dispnew.c
@@ -6066,7 +6066,7 @@ init_display (void)
 #endif /* HAVE_NTGUI */
 #ifdef HAVE_NS
-  if (!inhibit_window_system && !will_dump)
+  if (!inhibit_window_system && !will_dump_p ())
       Vinitial_window_system = Qns;
       Vwindow_system_version = make_number (10);

and now I get these:

pdumper.c:2904:21: error: implicit conversion turns string literal into bool:
      'char [48]' to 'bool' [-Werror,-Wstring-conversion]
          eassert (!"should not be dumping int: is self-representing");
./lisp.h:195:43: note: expanded from macro 'eassert'
# define eassert(cond) ((void) (false && (cond))) /* Check COND compiles.  */
pdumper.c:3217:25: error: implicit conversion loses integer precision:
      'EMACS_INT' (aka 'long') to 'enum cold_op' [-Werror,-Wshorten-64-to-32]
      enum cold_op op = XFASTINT (XCAR (item));
                   ~~   ^~~~~~~~~~~~~~~~~~~~~~
pdumper.c:3390:31: error: implicit conversion loses integer precision:
      'EMACS_INT' (aka 'long') to 'enum dump_fixup_type'
  enum dump_fixup_type type = XFASTINT (XCAR (fixup));
                       ~~~~   ^~~~~~~~~~~~~~~~~~~~~~~
pdumper.c:3478:32: error: implicit conversion loses integer precision:
      'EMACS_INT' (aka 'long') to 'enum dump_reloc_type'
  dump_reloc_set_type (&reloc, XFASTINT (dump_pop (&lreloc)));
  ~~~~~~~~~~~~~~~~~~~          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
pdumper.c:4726:14: error: implicit conversion from enumeration type 'const enum
      dump_reloc_type' to different enumeration type 'enum Lisp_Type'
    ? reloc->type
pdumper.c:5007:62: warning: size argument in 'memcmp' call is a comparison
  if (memcmp (header->magic, dump_magic, sizeof (dump_magic) != 0))
pdumper.c:5007:7: note: did you mean to compare the result of 'memcmp' instead?
  if (memcmp (header->magic, dump_magic, sizeof (dump_magic) != 0))
      ^                                                          ~
pdumper.c:5007:42: note: explicitly cast the argument to size_t to silence this
  if (memcmp (header->magic, dump_magic, sizeof (dump_magic) != 0))
                                         (size_t)(               )
1 warning and 5 errors generated.

I suspect some of these are because of clang.
Alan Third

reply via email to

[Prev in Thread] Current Thread [Next in Thread]