summaryrefslogtreecommitdiff
path: root/src/pdumper.c
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2019-09-03 17:34:08 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2019-09-03 17:34:50 -0700
commitd20655669bd6f94cdd9fb2472668e92a069c0cf2 (patch)
tree610e9a9ea0948470c015568ca1e7ccf8bcdd03ef /src/pdumper.c
parent5f089ac93f18fbd6e8131b81e1c6b403894b5759 (diff)
downloademacs-d20655669bd6f94cdd9fb2472668e92a069c0cf2.tar.gz
Avoid casting -1 to possibly-unsigned enum
* src/alloc.c (mark_maybe_pointer): * src/pdumper.h (pdumper_object_p_precise): Use pdumper_valid_object_type_p. * src/pdumper.c (pdumper_find_object_type_impl): * src/pdumper.h (pdumper_find_object_type): Return int, not enum Lisp_Type. All callers changed. * src/pdumper.h (PDUMPER_NO_OBJECT): Do not cast -1 to enum Lisp_Type; in theory, C18 says this could yield 7, which would mean PDUMPER_NO_OBJECT == Lisp_Float (!). (pdumper_valid_object_type_p): New function.
Diffstat (limited to 'src/pdumper.c')
-rw-r--r--src/pdumper.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/pdumper.c b/src/pdumper.c
index 5e70e20431c..f9c31d125a4 100644
--- a/src/pdumper.c
+++ b/src/pdumper.c
@@ -5057,7 +5057,7 @@ pdumper_cold_object_p_impl (const void *obj)
return offset >= dump_private.header.cold_start;
}
-enum Lisp_Type
+int
pdumper_find_object_type_impl (const void *obj)
{
eassert (pdumper_object_p (obj));
@@ -5067,7 +5067,7 @@ pdumper_find_object_type_impl (const void *obj)
const struct dump_reloc *reloc =
dump_find_relocation (&dump_private.header.object_starts, offset);
return (reloc != NULL && dump_reloc_get_offset (*reloc) == offset)
- ? (enum Lisp_Type) reloc->type
+ ? reloc->type
: PDUMPER_NO_OBJECT;
}