This happened with a macro invocation which was followed by a statement block
in braces.
* lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
between contexts nil and top, being less permissive in the former case.
(c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
;; CASE 11
(when (and got-identifier
- (memq context '(nil top))
(looking-at c-after-suffixed-type-decl-key)
+ (or (eq context 'top)
+ (and eq context nil
+ (match-beginning 1)))
(if (and got-parens
(not got-prefix)
(not got-suffix)
(c-forward-objc-directive)))
(setq id-start
- (car-safe (c-forward-decl-or-cast-1 (c-point 'bosws) nil nil)))
+ (car-safe (c-forward-decl-or-cast-1 (c-point 'bosws) 'top nil)))
(< id-start beg)
;; There should not be a '=' or ',' between beg and the