(From National Body comment US 141 on the C++20 DIS.)
Subclause 15.7.1 [cpp.replace.general] paragraph 13 specifies:
If there are sequences of preprocessing tokens within the list of arguments that would otherwise act as preprocessing directives, [ Footnote: ...] the behavior is undefined.
Undefined behavior during lexing is not acceptable. The behavior ought to be ill-formed or conditionally-supported. Some implementation support an #if section, others reject that.