summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Biener <rguenther@suse.de>2022-05-27 08:49:26 +0200
committerRichard Biener <rguenther@suse.de>2022-05-27 08:49:47 +0200
commit859eddcc06e859078502271ae331d4848fb98219 (patch)
treefc6b9675d60df2ec8ebf608e194a6da268b6b31b
parentf0d57d62b1df1f9e7c02edb66d68810d935754bf (diff)
Revert "libcpp: Fix up ##__VA_OPT__ handling [PR89971]"
This reverts commit 86b98701bf927ea438354723932e623557c04e42.
-rw-r--r--gcc/testsuite/c-c++-common/cpp/va-opt-9.c20
-rw-r--r--libcpp/macro.c5
2 files changed, 0 insertions, 25 deletions
diff --git a/gcc/testsuite/c-c++-common/cpp/va-opt-9.c b/gcc/testsuite/c-c++-common/cpp/va-opt-9.c
deleted file mode 100644
index 3f1d42b352f..00000000000
--- a/gcc/testsuite/c-c++-common/cpp/va-opt-9.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* PR preprocessor/89971 */
-/* { dg-do compile } */
-/* { dg-options "-std=gnu99" { target c } } */
-/* { dg-options "-std=c++2a" { target c++ } } */
-
-int a, c;
-#define m1(...) a /##__VA_OPT__(b) c
-#define m2(...) a /##__VA_OPT__() c
-#define m3(...) a##__VA_OPT__()##b = 1
-#define m4(...) a##__VA_OPT__(b c d)##e = 2
-
-int
-foo (void)
-{
- int d = m1();
- int e = m2(1);
- int m3(1 2 3);
- int m4();
- return d + e + ab + ae;
-}
diff --git a/libcpp/macro.c b/libcpp/macro.c
index 5f50438cf4f..97f3ca09181 100644
--- a/libcpp/macro.c
+++ b/libcpp/macro.c
@@ -1889,11 +1889,6 @@ replace_args (cpp_reader *pfile, cpp_hashnode *node, cpp_macro *macro,
paste_flag = tokens_buff_last_token_ptr (buff);
}
- if (start && paste_flag == start && (*start)->flags & PASTE_LEFT)
- /* If __VA_OPT__ expands to nothing (either because __VA_ARGS__
- is empty or because it is __VA_OPT__() ), drop PASTE_LEFT
- flag from previous token. */
- copy_paste_flag (pfile, start, &pfile->avoid_paste);
if (src->flags & PASTE_LEFT)
{
/* With a non-empty __VA_OPT__ on the LHS of ##, the last