Subject: feature/native-comp; cc-defs.el: c-lang-const Symbol's function definition is void: cc-bytecomp-is-compiling
From: Tom Gillespie <[email-masked]>
To: [email-masked], [email-masked]
Date: Sat, 1 Aug 2020 19:51:44 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

When trying to byte compile on 28.0.50 on the feature/native-comp branch at
7a161dc688f0eeee64e307a55efbc7d11bab3627 I encountered the following
error message:
Symbol's function definition is void: cc-bytecomp-is-compiling.

This is not an issue on master at 9f01ce6327af886f26399924a9aadf16cdd4fd9f.

To repro run the following.
#+begin_src bash
emacs -q -batch --no-site-file --eval '(progn (with-temp-buffer
(insert "(c-lang-const c-matchers-1 c)") (write-file "oh-no.el"))
(require '"'"'cc-defs) (byte-compile-file "oh-no.el"))'
#+end_src

Or in emacs launched with =emacs -q --no-site-file= run =M-x ielm= and then
#+begin_src ielm
(with-temp-buffer (insert "(c-lang-const c-matchers-1 c)") (write-file
"oh-no.el"))
(require 'cc-defs)
(byte-compile-file "oh-no.el")
#+end_src

Testing against master on in the emacs git repo via the following
produces no error.
./autogen.sh
./configure
make -j 8
src/emacs -q -batch --no-site-file --load lisp/progmodes/cc-defs.el
--load lisp/progmodes/cc-fonts.el --eval '(progn (with-temp-buffer
(insert "(c-lang-const c-matchers-1 c)") (write-file "oh-no.el"))
(require '"'"'cc-defs) (byte-compile-file "oh-no.el"))'

The output of
git diff 9f01ce6327af886f26399924a9aadf16cdd4fd9f
7a161dc688f0eeee64e307a55efbc7d11bab3627 -- lisp/progmodes
suggests that something similarly strange may be going on in this case.

report-emacs-bug output below
=======================

In GNU Emacs 28.0.50 (build 1, x86_64-pc-linux-gnu, X toolkit)
 of 2020-08-01 built on localhost
Repository revision: 7a161dc688f0eeee64e307a55efbc7d11bab3627
Repository branch: feature/native-comp
Windowing system distributor 'The X.Org Foundation', version 11.0.12008000
System Description: Gentoo/Linux

Recent messages:
For information about GNU Emacs and the GNU system, type C-h C-a.
Mark set
Saving file /home/tom/oh-no.el...
Wrote /home/tom/oh-no.el
Mark set [2 times]
Compiling /home/tom/oh-no.el...
goto-history-element: Beginning of history; no preceding item [2 times]

Configured using:
 'configure --prefix=/usr --build=x86_64-pc-linux-gnu
 --host=x86_64-pc-linux-gnu --mandir=/usr/share/man
 --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc
 --localstatedir=/var/lib --disable-silent-rules
 --docdir=/usr/share/doc/emacs-28.0.9999-r1
 --htmldir=/usr/share/doc/emacs-28.0.9999-r1/html --libdir=/usr/lib64
 --program-suffix=-emacs-28-vcs --includedir=/usr/include/emacs-28-vcs
 --infodir=/usr/share/info/emacs-28-vcs --localstatedir=/var
 --enable-locallisppath=/etc/emacs:/usr/share/emacs/site-lisp
 --without-compress-install --without-hesiod --without-pop
 --with-dumping=pdumper --with-file-notification=inotify --enable-acl
 --without-dbus --with-modules --without-gameuser --with-libgmp
 --without-gpm --with-json --without-kerberos --without-kerberos5
 --without-lcms2 --with-xml2 --without-mailutils --with-nativecomp
 --without-selinux --with-gnutls --without-libsystemd --with-threads
 --without-wide-int --with-zlib --with-sound=alsa --with-x --without-ns
 --without-gconf --without-gsettings --without-toolkit-scroll-bars
 --with-gif --with-jpeg --with-png --without-rsvg --with-tiff --with-xpm
 --without-imagemagick --with-xft --without-cairo --with-harfbuzz
 --without-libotf --without-m17n-flt --with-x-toolkit=lucid --with-xaw3d
 'CFLAGS=-march=core-avx2 -O2 -pipe' CPPFLAGS= 'LDFLAGS=-Wl,-O1
 -Wl,--as-needed''

Configured features:
XAW3D XPM JPEG TIFF GIF PNG SOUND NOTIFY INOTIFY ACL GNUTLS LIBXML2
FREETYPE HARFBUZZ XFT ZLIB LUCID X11 XDBE XIM MODULES NATIVE_COMP
THREADS JSON PDUMPER

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

Major mode: IELM

Minor modes in effect:
  tooltip-mode: t
  global-eldoc-mode: t
  eldoc-mode: t
  electric-indent-mode: t
  mouse-wheel-mode: t
  tool-bar-mode: t
  menu-bar-mode: t
  file-name-shadow-mode: t
  global-font-lock-mode: t
  font-lock-mode: t
  blink-cursor-mode: t
  auto-composition-mode: t
  auto-encryption-mode: t
  auto-compression-mode: t
  line-number-mode: t
  transient-mark-mode: t

Load-path shadows:
/usr/share/emacs/site-lisp/cjk-latex/thai-word hides
/usr/share/emacs/28.0.50/lisp/language/thai-word

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
rfc822 mml mml-sec password-cache epa derived epg epg-config gnus-util
rmail rmail-loaddefs text-property-search time-date subr-x seq byte-opt
gv mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils warnings compile bytecomp byte-compile cconv cc-defs
cl-loaddefs cl-lib cl-print ielm easymenu pp comint ansi-color ring
tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type
mwheel term/x-win x-win term/common-win x-dnd tool-bar dnd fontset image
regexp-opt fringe tabulated-list replace newcomment text-mode elisp-mode
lisp-mode prog-mode register page tab-bar menu-bar rfn-eshadow isearch
timer select scroll-bar mouse jit-lock font-lock syntax facemenu
font-core term/tty-colors frame minibuffer cl-generic 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 charscript charprop
case-table epa-hook jka-cmpr-hook help simple abbrev obarray
cl-preloaded nadvice loaddefs button faces cus-face pcase macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads inotify
dynamic-setting font-render-setting x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 69211 5782)
 (symbols 48 6976 0)
 (strings 32 18809 2705)
 (string-bytes 1 632345)
 (vectors 16 10953)
 (vector-slots 8 220874 7738)
 (floats 8 28 31)
 (intervals 56 395 0)
 (buffers 992 15))