emacs-devel
[Top][All Lists]
Advanced

[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:



reply via email to

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