Do not include <attribute.h> from <config.h>

This is because mod-test.c shouldn’t use source code from lib,
but it does need to include <config.h>.
* lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
* lib-src/make-docfile.c, lib-src/movemail.c:
* lib-src/seccomp-filter.c, src/dynlib.h, src/lisp.h:
* src/syssignal.h, src/sysstdio.h, src/systhread.h, src/tparam.h:
Include <attribute.h>.
* src/conf_post.h: Do not include <attribute.h>.
All uses of attribute.h macros replaced with their _GL_ equivalents.
This commit is contained in:
Paul Eggert 2022-03-08 18:46:47 -08:00
parent f7032bdafe
commit ec35e2621a
13 changed files with 27 additions and 12 deletions

View file

@ -26,6 +26,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <assert.h>
#include <getopt.h>
#include <attribute.h>
#include <flexmember.h>
#include <min-max.h>
#include <unlocked-io.h>

View file

@ -80,6 +80,7 @@ char *w32_getenv (const char *);
#include <sys/stat.h>
#include <unistd.h>
#include <attribute.h>
#include <filename.h>
#include <intprops.h>
#include <min-max.h>

View file

@ -112,6 +112,7 @@ University of California, as described above. */
# define O_CLOEXEC O_NOINHERIT
#endif /* WINDOWSNT */
#include <attribute.h>
#include <inttypes.h>
#include <limits.h>
#include <unistd.h>

View file

@ -42,6 +42,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <stdlib.h>
#include <string.h>
#include <attribute.h>
#include <binary-io.h>
#include <c-ctype.h>
#include <intprops.h>

View file

@ -69,6 +69,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <signal.h>
#include <string.h>
#include <attribute.h>
#include <unlocked-io.h>
#include "syswait.h"

View file

@ -59,7 +59,8 @@ variants of those files that can be used to sandbox Emacs before
#include <seccomp.h>
#include <unistd.h>
#include "verify.h"
#include <attribute.h>
#include <verify.h>
#ifndef ARCH_CET_STATUS
#define ARCH_CET_STATUS 0x3001

View file

@ -32,13 +32,11 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
/* To help make dependencies clearer elsewhere, this file typically
does not #include other files. The exceptions are stdbool.h
because it is unlikely to interfere with configuration and bool is
such a core part of the C language, attribute.h because its
ATTRIBUTE_* macros are used here, and ms-w32.h (DOS_NT
such a core part of the C language, and ms-w32.h (DOS_NT
only) because it historically was included here and changing that
would take some work. */
#include <stdbool.h>
#include <attribute.h>
#if defined WINDOWSNT && !defined DEFER_MS_W32_H
# include <ms-w32.h>
@ -279,8 +277,8 @@ extern void _DebPrint (const char *fmt, ...);
extern char *emacs_getenv_TZ (void);
extern int emacs_setenv_TZ (char const *);
#define NO_INLINE ATTRIBUTE_NOINLINE
#define EXTERNALLY_VISIBLE ATTRIBUTE_EXTERNALLY_VISIBLE
#define NO_INLINE _GL_ATTRIBUTE_NOINLINE
#define EXTERNALLY_VISIBLE _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
#if GNUC_PREREQ (4, 4, 0) && defined __GLIBC_MINOR__
# define PRINTF_ARCHETYPE __gnu_printf__
@ -310,9 +308,9 @@ extern int emacs_setenv_TZ (char const *);
# define PRINTF_ARCHETYPE __printf__
#endif
#define ATTRIBUTE_FORMAT_PRINTF(string_index, first_to_check) \
ATTRIBUTE_FORMAT ((PRINTF_ARCHETYPE, string_index, first_to_check))
_GL_ATTRIBUTE_FORMAT ((PRINTF_ARCHETYPE, string_index, first_to_check))
#define ARG_NONNULL ATTRIBUTE_NONNULL
#define ARG_NONNULL _GL_ATTRIBUTE_NONNULL
/* Declare NAME to be a pointer to an object of type TYPE, initialized
to the address ADDR, which may be of a different type. Accesses
@ -320,15 +318,16 @@ extern int emacs_setenv_TZ (char const *);
behavior, even if options like gcc -fstrict-aliasing are used. */
#define DECLARE_POINTER_ALIAS(name, type, addr) \
type ATTRIBUTE_MAY_ALIAS *name = (type *) (addr)
type _GL_ATTRIBUTE_MAY_ALIAS *name = (type *) (addr)
#if 3 <= __GNUC__
# define ATTRIBUTE_SECTION(name) __attribute__((section (name)))
#else
#define ATTRIBUTE_SECTION(name)
# define ATTRIBUTE_SECTION(name)
#endif
#define ATTRIBUTE_MALLOC_SIZE(args) ATTRIBUTE_MALLOC ATTRIBUTE_ALLOC_SIZE (args)
#define ATTRIBUTE_MALLOC_SIZE(args) \
_GL_ATTRIBUTE_MALLOC _GL_ATTRIBUTE_ALLOC_SIZE (args)
/* Work around GCC bug 59600: when a function is inlined, the inlined
code may have its addresses sanitized even if the function has the

View file

@ -20,6 +20,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#ifndef DYNLIB_H
#define DYNLIB_H
#include <attribute.h>
#include <stdbool.h>
typedef void *dynlib_handle_ptr;

View file

@ -31,6 +31,7 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <inttypes.h>
#include <limits.h>
#include <attribute.h>
#include <intprops.h>
#include <verify.h>

View file

@ -22,6 +22,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <signal.h>
#include <attribute.h>
extern void init_signals (void);
extern void block_child_signal (sigset_t *);
extern void unblock_child_signal (sigset_t const *);

View file

@ -24,7 +24,9 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <fcntl.h>
#include <limits.h>
#include <stdio.h>
#include "unlocked-io.h"
#include <attribute.h>
#include <unlocked-io.h>
extern FILE *emacs_fopen (char const *, char const *) ATTRIBUTE_MALLOC;
extern void errputc (int);

View file

@ -21,6 +21,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#include <stdbool.h>
#include <attribute.h>
#ifdef THREADS_ENABLED
#ifdef HAVE_PTHREAD

View file

@ -20,6 +20,8 @@ along with GNU Emacs. If not, see <https://www.gnu.org/licenses/>. */
#ifndef EMACS_TPARAM_H
#define EMACS_TPARAM_H
#include <attribute.h>
/* Don't try to include termcap.h. On some systems, configure finds a
non-standard termcap.h that the main build won't find. */