summaryrefslogtreecommitdiffstats
path: root/Parser/pegen
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2020-04-23 11:42:13 (GMT)
committerGitHub <noreply@github.com>2020-04-23 11:42:13 (GMT)
commit1df5a9e88c8df1495a2e689d71b34bf0c7d008ea (patch)
tree4ea11b6de7ba4e8e6408532fc92d4bf5e12f7d61 /Parser/pegen
parentee40e4b8563e6e1bc2bfb267da5ffc9a2293318d (diff)
downloadcpython-1df5a9e88c8df1495a2e689d71b34bf0c7d008ea.zip
cpython-1df5a9e88c8df1495a2e689d71b34bf0c7d008ea.tar.gz
cpython-1df5a9e88c8df1495a2e689d71b34bf0c7d008ea.tar.bz2
bpo-40334: Fix build errors and warnings in test_peg_generator (GH-19672)
Diffstat (limited to 'Parser/pegen')
-rw-r--r--Parser/pegen/pegen.c12
-rw-r--r--Parser/pegen/pegen.h1
2 files changed, 12 insertions, 1 deletions
diff --git a/Parser/pegen/pegen.c b/Parser/pegen/pegen.c
index 44198ab..0b70c95 100644
--- a/Parser/pegen/pegen.c
+++ b/Parser/pegen/pegen.c
@@ -640,6 +640,16 @@ _PyPegen_is_memoized(Parser *p, int type, void *pres)
return 0;
}
+
+int
+_PyPegen_lookahead_with_name(int positive, expr_ty (func)(Parser *), Parser *p)
+{
+ int mark = p->mark;
+ void *res = func(p);
+ p->mark = mark;
+ return (res != NULL) == positive;
+}
+
int
_PyPegen_lookahead_with_string(int positive, void *(func)(Parser *, const char *), Parser *p,
const char *arg)
@@ -663,7 +673,7 @@ int
_PyPegen_lookahead(int positive, void *(func)(Parser *), Parser *p)
{
int mark = p->mark;
- void *res = func(p);
+ void *res = (void*)func(p);
p->mark = mark;
return (res != NULL) == positive;
}
diff --git a/Parser/pegen/pegen.h b/Parser/pegen/pegen.h
index 5acd988..a20ec4a 100644
--- a/Parser/pegen/pegen.h
+++ b/Parser/pegen/pegen.h
@@ -85,6 +85,7 @@ int _PyPegen_insert_memo(Parser *p, int mark, int type, void *node);
int _PyPegen_update_memo(Parser *p, int mark, int type, void *node);
int _PyPegen_is_memoized(Parser *p, int type, void *pres);
+int _PyPegen_lookahead_with_name(int, expr_ty (func)(Parser *), Parser *);
int _PyPegen_lookahead_with_string(int, void *(func)(Parser *, const char *), Parser *, const char *);
int _PyPegen_lookahead_with_int(int, Token *(func)(Parser *, int), Parser *, int);
int _PyPegen_lookahead(int, void *(func)(Parser *), Parser *);