This fixes bug #59233. It occurred in the C source code fragment
open_replies = alloca (nproviders )
, where typing a * before the closing parenthesis caused nproviders to be
prematurely recognized as a type.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 18 - set
unsafe-maybe to t, when needed.
;; `got-parens' or `got-suffix' is set it's "a()", "a[]", "a()[]",
;; or similar, which we accept only if the context rules out
;; expressions.
+ ;;
+ ;; If we've got at-type 'maybe, we cannot confidently promote the
+ ;; possible type to a found type.
+ (when (and (eq at-type 'maybe))
+ (setq unsafe-maybe t))
(throw 'at-decl-or-cast t)))
;; If we had a complete symbol table here (which rules out