emacs-diffs
[Top][All Lists]
Advanced

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

[Emacs-diffs] master d2d4b07: Port build to gcc -fcheck-pointer-bounds


From: Paul Eggert
Subject: [Emacs-diffs] master d2d4b07: Port build to gcc -fcheck-pointer-bounds
Date: Sat, 26 Nov 2016 05:26:02 +0000 (UTC)

branch: master
commit d2d4b0746500265eddfa3c618bd6670aaa5eee90
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>

    Port build to gcc -fcheck-pointer-bounds
    
    This does not let Emacs run, just build.
    * lib-src/etags.c (main):
    * lib-src/profile.c (main):
    Use return, not exit.
    * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
    Do not define, as -fcheck-pointer-bounds is incompatible with taking
    addresses of labels.
    * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
    to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
---
 lib-src/etags.c   |    4 ++--
 lib-src/profile.c |    4 ++--
 src/bytecode.c    |    2 +-
 src/menu.c        |    2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/lib-src/etags.c b/lib-src/etags.c
index e5d76d4..6a722e0 100644
--- a/lib-src/etags.c
+++ b/lib-src/etags.c
@@ -1330,7 +1330,7 @@ main (int argc, char **argv)
            pfatal (tagfile);
        }
 
-      exit (EXIT_SUCCESS);
+      return EXIT_SUCCESS;
     }
 
   /* From here on, we are in (CTAGS && !cxref_style) */
@@ -1383,7 +1383,7 @@ main (int argc, char **argv)
        z = stpcpy (z, tagfile);
        *z++ = ' ';
        strcpy (z, tagfile);
-       exit (system (cmd));
+       return system (cmd);
       }
   return EXIT_SUCCESS;
 }
diff --git a/lib-src/profile.c b/lib-src/profile.c
index edd36ca..cfee5b8 100644
--- a/lib-src/profile.c
+++ b/lib-src/profile.c
@@ -85,13 +85,13 @@ main (void)
          puts (get_time ());
          break;
        case 'q':
-         exit (EXIT_SUCCESS);
+         return EXIT_SUCCESS;
        }
       /* Anything remaining on the line is ignored.  */
       while (c != '\n' && c != EOF)
        c = getchar ();
     }
-  exit (EXIT_FAILURE);
+  return EXIT_FAILURE;
 }
 
 
diff --git a/src/bytecode.c b/src/bytecode.c
index e2d8ab7..be39a81 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -46,7 +46,7 @@ along with GNU Emacs.  If not, see 
<http://www.gnu.org/licenses/>.  */
    indirect threaded, using GCC's computed goto extension.  This code,
    as currently implemented, is incompatible with BYTE_CODE_SAFE and
    BYTE_CODE_METER.  */
-#if (defined __GNUC__ && !defined __STRICT_ANSI__ \
+#if (defined __GNUC__ && !defined __STRICT_ANSI__ && !defined __CHKP__ \
      && !BYTE_CODE_SAFE && !defined BYTE_CODE_METER)
 #define BYTE_CODE_THREADED
 #endif
diff --git a/src/menu.c b/src/menu.c
index 638810b..8070967 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -1540,7 +1540,7 @@ for instance using the window manager, then this produces 
a quit and
 
   /* Note that xw_popup_dialog can call menu code, so
      Vmenu_updating_frame should be set (Bug#17891).  */
-  eassert (f && FRAME_LIVE_P (f));
+  eassume (f && FRAME_LIVE_P (f));
   XSETFRAME (Vmenu_updating_frame, f);
 
   /* Force a redisplay before showing the dialog.  If a frame is created



reply via email to

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