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.
This commit is contained in:
Paul Eggert 2016-11-25 21:24:28 -08:00
parent acb5589fcd
commit d2d4b07465
4 changed files with 6 additions and 6 deletions

View file

@ -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;
}

View file

@ -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;
}

View file

@ -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

View file

@ -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