summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEfimov Vasily <real@ispras.ru>2016-02-09 20:31:30 +0300
committerEfimov Vasily <real@ispras.ru>2017-10-30 19:48:41 +0300
commit0f8746853a068373c3bdcd31d870b6af9123180b (patch)
treef5a01a2c79b4d5f1f7ee19bf8019fdede4688719
parent9fdca0bf6ae95e0dc4d8e93f22256e7c90f28f6e (diff)
downloadply-0f8746853a068373c3bdcd31d870b6af9123180b.tar.gz
cpp: fixup removal of '##' around macro argument during concatenation
Signed-off-by: Efimov Vasily <real@ispras.ru>
-rw-r--r--ply/cpp.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/ply/cpp.py b/ply/cpp.py
index b6bfc69..06acdf3 100644
--- a/ply/cpp.py
+++ b/ply/cpp.py
@@ -411,10 +411,11 @@ class Preprocessor(object):
elif (i > 0 and macro.value[i-1].value == '##'):
macro.patch.append(('c',argnum,i-1))
del macro.value[i-1]
+ i -= 1
continue
elif ((i+1) < len(macro.value) and macro.value[i+1].value == '##'):
macro.patch.append(('c',argnum,i))
- i += 1
+ del macro.value[i + 1]
continue
# Standard expansion
else: