Files
emacs/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
..
2022-03-15 21:21:20 +02:00
2022-03-16 17:52:41 -07:00
2022-03-16 17:52:41 -07:00
2022-01-24 11:41:47 +01:00
2022-02-16 12:33:35 +01:00
2022-03-12 06:34:05 +01:00
2022-04-08 17:33:16 -07:00
2022-04-18 19:47:37 -07:00
2022-03-19 12:48:54 -07:00
2022-03-14 09:06:20 -07:00
2022-05-11 10:18:12 -07:00
2022-05-10 16:06:10 +03:00
2022-05-10 14:47:22 -07:00
2022-04-28 18:37:34 +03:00
2022-05-05 09:46:05 +00:00
2022-04-06 05:54:31 +00:00
2022-04-18 09:24:36 +08:00
2022-04-18 09:24:36 +08:00
2022-05-04 03:23:11 +00:00
2022-05-10 04:11:48 +00:00
2022-05-12 02:29:43 +00:00
2022-05-10 04:11:48 +00:00
2022-05-10 04:11:48 +00:00
2022-05-12 13:08:44 +00:00
2022-04-16 13:58:31 -04:00
2022-05-05 17:01:53 +08:00
2022-04-10 15:44:11 +03:00
2022-05-10 16:01:00 +08:00
2022-05-12 17:23:45 +08:00
2022-02-07 10:38:15 +08:00
2022-04-15 16:44:18 +08:00
2022-05-08 21:10:45 +08:00
2022-04-27 19:19:01 +08:00
2022-05-07 18:21:29 +02:00
2022-04-08 15:34:57 +02:00
2022-03-20 10:46:45 -07:00
2022-01-26 12:59:10 +01:00
2022-04-27 21:06:55 +03:00
2022-04-17 17:20:03 +03:00
2022-05-03 09:22:06 +08:00
2022-05-07 09:34:35 +08:00
2022-04-28 13:07:33 +08:00
2022-04-17 13:37:51 +02:00

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Copyright (C) 2001-2022 Free Software Foundation, Inc.
See the end of the file for license conditions.


This directory contains the source files for the C component of GNU Emacs.
Nothing in this directory is needed for using Emacs once it is built
and installed, if the dumped Emacs is copied elsewhere.

See the files ../README and then ../INSTALL for installation instructions.

The file 'Makefile.in' is used as a template by the script
'../configure' to produce 'Makefile'.  This is the file which actually
controls the compilation of Emacs C source files.  All of this should
work transparently; you should only need to change to the parent
directory, run './configure', and then run 'make'.

This file is part of GNU Emacs.

GNU Emacs is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

GNU Emacs is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.