summaryrefslogtreecommitdiffstats
path: root/Parser
diff options
context:
space:
mode:
authorPablo Galindo <Pablogsal@gmail.com>2020-10-30 23:48:42 (GMT)
committerGitHub <noreply@github.com>2020-10-30 23:48:42 (GMT)
commit06f8c3328dcd81c84d1ee2b3a57b5381dcb38482 (patch)
treecc3ad1395744a8eba15c779480a9ce9276e8bc5f /Parser
parent6e03c0ad156797cd6e9132e895d55dac0344d340 (diff)
downloadcpython-06f8c3328dcd81c84d1ee2b3a57b5381dcb38482.zip
cpython-06f8c3328dcd81c84d1ee2b3a57b5381dcb38482.tar.gz
cpython-06f8c3328dcd81c84d1ee2b3a57b5381dcb38482.tar.bz2
bpo-42214: Fix check for NOTEQUAL token in the PEG parser for the barry_as_flufl rule (GH-23048)
Diffstat (limited to 'Parser')
-rw-r--r--Parser/parser.c2
-rw-r--r--Parser/pegen.c3
-rw-r--r--Parser/pegen.h2
3 files changed, 3 insertions, 4 deletions
diff --git a/Parser/parser.c b/Parser/parser.c
index a22cf27..a882a81 100644
--- a/Parser/parser.c
+++ b/Parser/parser.c
@@ -21288,7 +21288,7 @@ _tmp_93_rule(Parser *p)
)
{
D(fprintf(stderr, "%*c+ _tmp_93[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'!='"));
- _res = _PyPegen_check_barry_as_flufl ( p ) ? NULL : tok;
+ _res = _PyPegen_check_barry_as_flufl ( p , tok ) ? NULL : tok;
if (_res == NULL && PyErr_Occurred()) {
p->error_indicator = 1;
D(p->level--);
diff --git a/Parser/pegen.c b/Parser/pegen.c
index 216edd8..188fd28 100644
--- a/Parser/pegen.c
+++ b/Parser/pegen.c
@@ -62,8 +62,7 @@ init_normalization(Parser *p)
/* Checks if the NOTEQUAL token is valid given the current parser flags
0 indicates success and nonzero indicates failure (an exception may be set) */
int
-_PyPegen_check_barry_as_flufl(Parser *p) {
- Token *t = p->tokens[p->fill - 1];
+_PyPegen_check_barry_as_flufl(Parser *p, Token* t) {
assert(t->bytes != NULL);
assert(t->type == NOTEQUAL);
diff --git a/Parser/pegen.h b/Parser/pegen.h
index 841f1e5..f82a3a0 100644
--- a/Parser/pegen.h
+++ b/Parser/pegen.h
@@ -263,7 +263,7 @@ expr_ty _PyPegen_collect_call_seqs(Parser *, asdl_expr_seq *, asdl_seq *,
int end_col_offset, PyArena *arena);
expr_ty _PyPegen_concatenate_strings(Parser *p, asdl_seq *);
asdl_seq *_PyPegen_join_sequences(Parser *, asdl_seq *, asdl_seq *);
-int _PyPegen_check_barry_as_flufl(Parser *);
+int _PyPegen_check_barry_as_flufl(Parser *, Token *);
mod_ty _PyPegen_make_module(Parser *, asdl_stmt_seq *);
// Error reporting helpers