1
0
mirror of https://git.savannah.gnu.org/git/emacs.git synced 2025-01-06 11:55:48 +00:00
emacs/lib-src
Paul Eggert 0f731c49e6 Pacify GCC 12 in default developer build
This lets ‘./configure; make’ work on Fedora 36 x86-64 from a Git
checkout without generating false-alarm warnings.
* lib-src/etags.c (main): There appeared to be false alarm with
GCC 12.  However, the code was wrong anyway, as it mishandled file
names containing "'" so fix that bug.  This pacifies GCC.
(mercury_decl): Omit tests ‘s + pos != NULL’ that were apparently
intended to be ‘s[pos] != '\0'’ but which were miscoded to always
be true and which were mostly not needed anyway.  In one place,
though, a test was needed, so fix that by using strchr instead.
* src/alloc.c (lisp_free) [!GC_MALLOC_CHECK]:
* src/term.c (Fsuspend_tty): Don’t look at a pointer after freeing
it, even just to test it for equality with some other pointer, as
this has undefined behavior in C and GCC 12 diagnoses this.
* src/dbusbind.c (xd_read_message_1): Rework the code a bit
so that it has fewer tests.  This pacifies GCC 12 which was
complaining incorrectly about dereferencing a null pointer.
* src/intervals.c (copy_properties): Remove an eassume that should
no longer be needed even to pacify older GCCs, due to ...
* src/intervals.h (split_interval_left): ... this addition of
ATTRIBUTE_RETURNS_NONNULL to pacify a GCC 12 warning about
dereferencing a null pointer.
* src/regex-emacs.c (EXTEND_BUFFER): Use negative values rather
than auxiliary booleans to indicate null pointers.  This pacifies
GCC 12 false alarms about using uninitialized variables.
* src/xdisp.c (clear_position): New function.
(append_space_for_newline, extend_face_to_end_of_line):
Use it to work around false alarms from GCC 12.
(display_and_set_cursor): Add an UNINIT to pacify GCC 12.
* src/xterm.c (x_draw_glyphless_glyph_string_foreground):
Defend against hypothetical bad code elsewhere;
this also pacifies GCC 12.
(x_term_init): Use fixed-size auto array rather than alloca,
as the array is small; this also pacifies GCC 12.
2022-05-12 17:03:55 -07:00
..
be_resources.cc Fix Emacs icon not appearing on Haiku 2022-01-17 11:09:50 +00:00
ChangeLog.1 ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
COPYING Merge from Gnulib 2017-10-01 18:31:10 -07:00
ctags.c
ebrowse.c ebrowse dumping need not return int 2022-04-08 17:33:15 -07:00
emacsclient.c Merge from origin/emacs-28 2022-04-17 13:10:19 -07:00
etags.c Pacify GCC 12 in default developer build 2022-05-12 17:03:55 -07:00
hexl.c ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
make-docfile.c Do not include <attribute.h> from <config.h> 2022-03-08 18:51:17 -08:00
make-fingerprint.c ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
Makefile.in Avoid user environment interfering with bootstrap 2022-01-12 09:35:43 -08:00
movemail.c Do not include <attribute.h> from <config.h> 2022-03-08 18:51:17 -08:00
ntlib.c Merge from origin/emacs-28 2022-01-01 07:03:03 -05:00
ntlib.h ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pop.c ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
pop.h ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00
rcs2log ; Run set-copyright from admin.el 2022-01-01 09:52:06 -08:00
README
seccomp-filter.c Do not include <attribute.h> from <config.h> 2022-03-08 18:51:17 -08:00
update-game-score.c ; Add 2022 to copyright years. 2022-01-01 02:45:51 -05:00

This directory contains the source code for the architecture-dependent
files that go in ${archlibdir}.  At present, these are mostly utility
programs used by GNU Emacs.