https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107980
--- Comment #17 from joseph at codesourcery dot com <joseph at codesourcery dot com> --- The details of not expanding in cases where it matters whether and how many times something is expanded - such as arguments expanding to have unbalanced parentheses - may be a non-obvious consequence that wasn't considered in WG14. The basic definition of ignoring the pp-tokens without converting them to tokens (and thus not requiring them to parse as any particular kind of C language construct) was clear enough from the paper (whether or not anyone felt the need to comment on that aspect of the definition).