Authors: Jay Ghiron
Date: 2026-09-28
Submitted against: C23
Status: Open
See also C++ CWG 3224:
#define FOO(...)
FOO(
#if )
C++ is changing its wording to clarify that this is invalid, should the wording in C be changed as well to clarify that this is invalid?
Modify C23 6.10.5.1 paragraph 11:
If there
are sequences of preprocessing tokensis whitespace containing at least one new-line character immediately followed by a#preprocessing token within the list of argumentsthat would otherwise act as preprocessing directives, the behavior is undefined.
(footnote) Despite the name, a non-directive is a preprocessing directive.