Subject: bug#56736: 29.0.50; Mac OS X Lion: `externally-visible` causes zillions of warnings

From: Werner LEMBERG <[email-masked]>
Date: Sun, 24 Jul 2022 12:17:29 +0000 (UTC)

Compiling emacs master (2024136d31e) on a Mac OS X Lion box with the
system's `/usr/bin/clang` compiler, there are many warnings like the
following.

```
In file included from dispnew.c:27:
./lisp.h:69:1: warning: unknown attribute 'externally_visible' ignored [-Wattributes]
DEFINE_GDB_SYMBOL_BEGIN (int, GCTYPEBITS)
^
./lisp.h:55:51: note: expanded from macro 'DEFINE_GDB_SYMBOL_BEGIN'
# define DEFINE_GDB_SYMBOL_BEGIN(type, id) extern DECLARE_GDB_SYM (type, id)
                                                  ^
./lisp.h:50:49: note: expanded from macro 'DECLARE_GDB_SYM'
#define DECLARE_GDB_SYM(type, id) type const id EXTERNALLY_VISIBLE
                                                ^
./conf_post.h:281:28: note: expanded from macro 'EXTERNALLY_VISIBLE'
#define EXTERNALLY_VISIBLE _GL_ATTRIBUTE_EXTERNALLY_VISIBLE
                           ^
./config.h:2542:59: note: expanded from macro '_GL_ATTRIBUTE_EXTERNALLY_VISIBLE'
# define _GL_ATTRIBUTE_EXTERNALLY_VISIBLE __attribute__ ((externally_visible))
```

In comparison to a normal log file, these warnings increase its size
by a factor of 200.

`/usr/bin/clang` identifies itself as

```
Apple LLVM version 4.2 (clang-425.0.28) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin11.4.2
Thread model: posix
```

    Werner

======================================================================

In GNU Emacs 29.0.50 (build 1, x86_64-apple-darwin11.4.2)
 of 2022-07-24 built on Families-iMac
Repository revision: 2024136d31e85f5935e1dd1a494ecb3ea715ef80
Repository branch: master
System Description:  Mac OS X 10.7.5

Configured using:
 'configure --disable-silent-rules --without-ns --without-x
 --without-dbus --without-gconf --without-libotf --without-m17n-flt
 --with-libgmp --with-gnutls --with-json --with-xml2 --with-modules
 --with-sqlite3 --with-webp 'CFLAGS=-pipe -Os -arch x86_64
 -Wno-attributes' CPPFLAGS=-I/opt/local/include
 'LDFLAGS=-Wl,-headerpad_max_install_names -L/opt/local/lib -Wl,-no_pie
 -arch x86_64''

Configured features:
ACL GMP GNUTLS JSON LCMS2 LIBXML2 MODULES NOTIFY KQUEUE PDUMPER SQLITE3
THREADS XIM ZLIB

Important settings:
  value of $LANG: en_US.UTF-8
  locale-coding-system: utf-8-unix

Major mode: Fundamental

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  show-paren-mode: t
  electric-indent-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  blink-cursor-mode: t
  buffer-read-only: t
  line-number-mode: t
  indent-tabs-mode: t
  transient-mark-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t

Load-path shadows:
None found.

Features:
(shadow regexp-opt sort mail-extr emacsbug message mailcap yank-media
puny dired dnd dired-loaddefs rfc822 mml mml-sec password-cache epa
derived epg rfc6068 epg-config gnus-util text-property-search time-date
subr-x mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev
gmm-utils mailheader cl-loaddefs cl-lib sendmail rfc2047 rfc2045
ietf-drums mm-util mail-prsvr mail-utils term/xterm xterm byte-opt gv
bytecomp byte-compile cconv rmc iso-transl tooltip eldoc paren electric
uniquify ediff-hook vc-hooks lisp-float-type elisp-mode tabulated-list
replace newcomment text-mode lisp-mode prog-mode register page tab-bar
menu-bar rfn-eshadow isearch easymenu timer select mouse jit-lock
font-lock syntax font-core term/tty-colors frame minibuffer nadvice seq
simple cl-generic indonesian philippine cham georgian utf-8-lang
misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms
cp51932 hebrew greek romanian slovak czech european ethiopic indian
cyrillic chinese composite emoji-zwj charscript charprop case-table
epa-hook jka-cmpr-hook help abbrev obarray oclosure cl-preloaded button
loaddefs faces cus-face macroexp files window text-properties overlay
sha1 md5 base64 format env code-pages mule custom widget keymap
hashtable-print-readable backquote threads kqueue lcms2 multi-tty
make-network-process emacs)

Memory information:
((conses 16 44661 6474)
 (symbols 48 5638 0)
 (strings 32 15448 1850)
 (string-bytes 1 494605)
 (vectors 16 8424)
 (vector-slots 8 102630 6497)
 (floats 8 24 307)
 (intervals 56 253 10)
 (buffers 992 11))