[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Compiling pdumper.c fails with gcc 4.7.2
From: |
Robert Pluim |
Subject: |
Re: Compiling pdumper.c fails with gcc 4.7.2 |
Date: |
Wed, 23 Jan 2019 14:48:12 +0100 |
martin rudalics <address@hidden> writes:
> With gcc 4.7.2 compiling pdumper.c fails thusly:
>
> CC pdumper.o
> ../../src/pdumper.c: In function ‘emacs_offset’:
> ../../src/pdumper.c:718:27: error: declaration of ‘emacs_ptr’ shadows a
> global declaration [-Werror=shadow]
> ../../src/pdumper.c:710:1: error: shadowed declaration is here
> [-Werror=shadow]
>
> Is there any practicable way to fix this?
Sure, the emacs_ptr function is static, so it can change name easily
enough. Something like the following works for me:
diff --git i/src/pdumper.c w/src/pdumper.c
index 6be26dc816..c79034df79 100644
--- i/src/pdumper.c
+++ w/src/pdumper.c
@@ -707,7 +707,7 @@ emacs_basis (void)
}
static void *
-emacs_ptr (const ptrdiff_t offset)
+offset_to_emacs_ptr (const ptrdiff_t offset)
{
/* TODO: assert somehow that the result is actually in the Emacs
image. */
@@ -5330,24 +5330,24 @@ dump_do_emacs_relocation (
{
case RELOC_EMACS_COPY_FROM_DUMP:
eassume (reloc.length > 0);
- memcpy (emacs_ptr (reloc.emacs_offset),
+ memcpy (offset_to_emacs_ptr (reloc.emacs_offset),
dump_ptr (dump_base, reloc.u.dump_offset),
reloc.length);
break;
case RELOC_EMACS_IMMEDIATE:
eassume (reloc.length > 0);
eassume (reloc.length <= sizeof (reloc.u.immediate));
- memcpy (emacs_ptr (reloc.emacs_offset),
+ memcpy (offset_to_emacs_ptr (reloc.emacs_offset),
&reloc.u.immediate,
reloc.length);
break;
case RELOC_EMACS_DUMP_PTR_RAW:
pval = reloc.u.dump_offset + dump_base;
- memcpy (emacs_ptr (reloc.emacs_offset), &pval, sizeof (pval));
+ memcpy (offset_to_emacs_ptr (reloc.emacs_offset), &pval, sizeof (pval));
break;
case RELOC_EMACS_EMACS_PTR_RAW:
pval = reloc.u.emacs_offset2 + emacs_basis ();
- memcpy (emacs_ptr (reloc.emacs_offset), &pval, sizeof (pval));
+ memcpy (offset_to_emacs_ptr (reloc.emacs_offset), &pval, sizeof (pval));
break;
case RELOC_EMACS_DUMP_LV:
case RELOC_EMACS_EMACS_LV:
@@ -5356,12 +5356,12 @@ dump_do_emacs_relocation (
eassume (reloc.length <= Lisp_Float);
void *obj_ptr = reloc.type == RELOC_EMACS_DUMP_LV
? dump_ptr (dump_base, reloc.u.dump_offset)
- : emacs_ptr (reloc.u.emacs_offset2);
+ : offset_to_emacs_ptr (reloc.u.emacs_offset2);
if (reloc.length == Lisp_Symbol)
lv = make_lisp_symbol (obj_ptr);
else
lv = make_lisp_ptr (obj_ptr, reloc.length);
- memcpy (emacs_ptr (reloc.emacs_offset), &lv, sizeof (lv));
+ memcpy (offset_to_emacs_ptr (reloc.emacs_offset), &lv, sizeof (lv));
break;
}
default: