diff options
author | Irit Katriel <1055913+iritkatriel@users.noreply.github.com> | 2022-11-06 15:36:19 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-11-06 15:36:19 (GMT) |
commit | 61b6c40b645bd8c8568f1646dc46580fa49d107a (patch) | |
tree | 8b7a53cc5aefabbf59ba9cd78c4a07c409e0fd9f /Parser/parser.c | |
parent | d3b82b4463c4eb51954c0afd98342f0c5e479baa (diff) | |
download | cpython-61b6c40b645bd8c8568f1646dc46580fa49d107a.zip cpython-61b6c40b645bd8c8568f1646dc46580fa49d107a.tar.gz cpython-61b6c40b645bd8c8568f1646dc46580fa49d107a.tar.bz2 |
gh-99153: set location on SyntaxError for try with both except and except* (GH-99160)
Diffstat (limited to 'Parser/parser.c')
-rw-r--r-- | Parser/parser.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/Parser/parser.c b/Parser/parser.c index b23507a..c258055 100644 --- a/Parser/parser.c +++ b/Parser/parser.c @@ -21974,13 +21974,13 @@ invalid_try_stmt_rule(Parser *p) return NULL; } D(fprintf(stderr, "%*c> invalid_try_stmt[%d-%d]: %s\n", p->level, ' ', _mark, p->mark, "'try' ':' block* ((except_block+ except_star_block) | (except_star_block+ except_block)) block*")); - Token * _keyword; Token * _literal; asdl_seq * _loop0_203_var; asdl_seq * _loop0_205_var; void *_tmp_204_var; + Token * a; if ( - (_keyword = _PyPegen_expect_token(p, 620)) // token='try' + (a = _PyPegen_expect_token(p, 620)) // token='try' && (_literal = _PyPegen_expect_token(p, 11)) // token=':' && @@ -21992,7 +21992,7 @@ invalid_try_stmt_rule(Parser *p) ) { D(fprintf(stderr, "%*c+ invalid_try_stmt[%d-%d]: %s succeeded!\n", p->level, ' ', _mark, p->mark, "'try' ':' block* ((except_block+ except_star_block) | (except_star_block+ except_block)) block*")); - _res = RAISE_SYNTAX_ERROR ( "cannot have both 'except' and 'except*' on the same 'try'" ); + _res = RAISE_SYNTAX_ERROR_KNOWN_LOCATION ( a , "cannot have both 'except' and 'except*' on the same 'try'" ); if (_res == NULL && PyErr_Occurred()) { p->error_indicator = 1; p->level--; |