NOTE: This patch has been committed.
Building with g++ and/or --use-union-type fails due to incorrect
typecasts. This patch fixes it.
src/ChangeLog addition:
2005-03-11 Marcus Crestani <crestani(a)informatik.uni-tuebingen.de>
* alloc.c (kkcc_backtrace): Fix C++ build: do typecasts correctly.
xemacs-test source patch:
Diff command: cvs -q diff -u
Files affected: src/alloc.c
Index: src/alloc.c
===================================================================
RCS file: /pack/xemacscvs/XEmacs/xemacs/src/alloc.c,v
retrieving revision 1.107
diff -u -r1.107 alloc.c
--- src/alloc.c 10 Mar 2005 09:12:37 -0000 1.107
+++ src/alloc.c 11 Mar 2005 08:28:47 -0000
@@ -3343,18 +3343,18 @@
stderr_out ("KKCC mark stack backtrace :\n");
for (i = kkcc_bt_depth - 1; i >= 0; i--)
{
+ Lisp_Object obj = wrap_pointer_1 (kkcc_bt[i].obj);
stderr_out (" [%d]", i);
- if ((((struct lrecord_header *) kkcc_bt[i].obj)->type
- >= lrecord_type_free)
- || (!LRECORDP (kkcc_bt[i].obj))
- || (!XRECORD_LHEADER_IMPLEMENTATION (kkcc_bt[i].obj)))
+ if ((XRECORD_LHEADER (obj)->type >= lrecord_type_free)
+ || (!LRECORDP (obj))
+ || (!XRECORD_LHEADER_IMPLEMENTATION (obj)))
{
stderr_out (" non Lisp Object");
}
else
{
stderr_out (" %s",
- XRECORD_LHEADER_IMPLEMENTATION (kkcc_bt[i].obj)->name);
+ XRECORD_LHEADER_IMPLEMENTATION (obj)->name);
}
stderr_out (" (addr: 0x%x, desc: 0x%x, ",
(int) kkcc_bt[i].obj,
--
Marcus
Show replies by date