Subject: bug#52692: 27.2; wrong-type-argument in c-forward-decl-or-cast-1

From: Simon Schubert <[email-masked]>
Date: Mon, 20 Dec 2021 15:18:33 -0800

Invoking c-context-line-break leads to wrong-type-argument if used with
a custom type, but not when used with a struct. See example below:

typedef struct some_type_struct {
    int some_field;
} some_type;

void foo(some_type t) {
}

void test(void) {
    foo((struct some_type_struct){ // fine: (c-context-line-break)
    });
    foo((some_type){ // error: (c-context-line-break)
    });
}

In GNU Emacs 27.2 (build 1, x86_64-pc-linux-gnu, X toolkit, Xaw scroll 
bars)
of 2021-05-03 built on ernest
Repository revision: 930a410a9b054a61e004db3e0d35f1ff9b5f4796
Repository branch: master
Windowing system distributor 'The X.Org Foundation', version 11.0.12101001
System Description: Arch Linux

Recent messages:
Undo [2 times]
4 (#o4, #x4, ?\C-d)
Undo
Entering debugger...
Quit
user-error: No undo information in this buffer
Quit
Back to top level
Saving file /home/corecode/tmp/test.c...
Wrote /home/corecode/tmp/test.c

Configured using:
'configure --prefix=/usr --sysconfdir=/etc --libexecdir=/usr/lib
--localstatedir=/var --with-x-toolkit=lucid --with-xft --without-gconf
--without-gsettings --with-modules
'--program-transform-name=s/^ctags$/ctags.emacs/' 'CFLAGS=-march=x86-64
-mtune=generic -O2 -pipe -fno-plt -g
-fdebug-prefix-map=/home/corecode/.cache/yay/emacs-lucid/src=/usr/src/debug' 

CPPFLAGS=-D_FORTIFY_SOURCE=2
LDFLAGS=-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'

Configured features:
XPM JPEG TIFF GIF PNG RSVG SOUND GPM DBUS GLIB NOTIFY INOTIFY ACL GNUTLS
LIBXML2 FREETYPE HARFBUZZ M17N_FLT LIBOTF XFT ZLIB TOOLKIT_SCROLL_BARS
LUCID X11 XDBE XIM MODULES THREADS LIBSYSTEMD JSON PDUMPER LCMS2 GMP

Important settings:
value of $LC_MONETARY: en_US.UTF-8
value of $LC_NUMERIC: en_US.UTF-8
value of $LC_TIME: en_GB.UTF-8
value of $LANG: en_DK.UTF-8
locale-coding-system: utf-8-unix

Major mode: C/*l

Minor modes in effect:
tooltip-mode: t
global-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
abbrev-mode: t

Load-path shadows:
None found.

Features:
(shadow sort mail-extr emacsbug message rmc puny dired dired-loaddefs
format-spec rfc822 mml mml-sec password-cache epa derived epg epg-config
gnus-util rmail rmail-loaddefs text-property-search time-date subr-x
mm-decode mm-bodies mm-encode mail-parse rfc2231 mailabbrev gmm-utils
mailheader sendmail rfc2047 rfc2045 ietf-drums mm-util mail-prsvr
mail-utils cl-print debug backtrace find-func misearch multi-isearch
cl-extra seq byte-opt gv bytecomp byte-compile cconv help-fns radix-tree
help-mode vc-git diff-mode easy-mmode cc-mode cc-fonts easymenu cc-guess
cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs
cl-loaddefs cl-lib 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 macroexp files
text-properties overlay sha1 md5 base64 format env code-pages mule
custom widget hashtable-print-readable backquote threads dbusbind
inotify lcms2 dynamic-setting font-render-setting x-toolkit x multi-tty
make-network-process emacs)

Memory information:
((conses 16 78411 9583)
(symbols 48 9636 1)
(strings 32 26037 2235)
(string-bytes 1 929397)
(vectors 16 14770)
(vector-slots 8 185362 12374)
(floats 8 40 30)
(intervals 56 682 8)
(buffers 1000 15))