Revert "Suppress non-conforming GNU paste extension in all standard-conforming modes"
authorReid Kleckner <rnk@google.com>
Wed, 27 Jan 2021 18:59:28 +0000 (10:59 -0800)
committerReid Kleckner <rnk@google.com>
Wed, 27 Jan 2021 18:59:57 +0000 (10:59 -0800)
commit61a66e4b5ec18e9e73c2f6334f6b7f7dd4bca77e
treee96f46cfd42a05e83ef54043a3204388417ac828
parente19ec9ca41b8549d8683cc221445b0ce1dc29924
Revert "Suppress non-conforming GNU paste extension in all standard-conforming modes"

This reverts commit f4537935dcdbf390c863591cf556e76c3abab9c1.
This reverts commit b43c26d036dcbf7a6881f39e4434cf059364022a.

This GNU and MSVC extension turns out to be very popular. Most projects
are not using C++20, so cannot use the new __VA_OPT__ feature to be
standards conformant. The other workaround, using -std=gnu*, enables too
many language extensions and isn't viable.

Until there is a way for users to get the behavior provided by the
`, ## __VA_ARGS__` extension in the -std=c++17 and earlier language
modes, we need to revert this.
clang/lib/Lex/TokenLexer.cpp
clang/test/Preprocessor/macro_fn_comma_swallow2.c