diff options
Diffstat (limited to 'contrib/tools/python3/Python/ast.c')
| -rw-r--r-- | contrib/tools/python3/Python/ast.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/contrib/tools/python3/Python/ast.c b/contrib/tools/python3/Python/ast.c index 76f6556ded0..1d1a48ec885 100644 --- a/contrib/tools/python3/Python/ast.c +++ b/contrib/tools/python3/Python/ast.c @@ -1011,13 +1011,19 @@ validate_typeparam(struct validator *state, type_param_ty tp) case TypeVar_kind: ret = validate_name(tp->v.TypeVar.name) && (!tp->v.TypeVar.bound || - validate_expr(state, tp->v.TypeVar.bound, Load)); + validate_expr(state, tp->v.TypeVar.bound, Load)) && + (!tp->v.TypeVar.default_value || + validate_expr(state, tp->v.TypeVar.default_value, Load)); break; case ParamSpec_kind: - ret = validate_name(tp->v.ParamSpec.name); + ret = validate_name(tp->v.ParamSpec.name) && + (!tp->v.ParamSpec.default_value || + validate_expr(state, tp->v.ParamSpec.default_value, Load)); break; case TypeVarTuple_kind: - ret = validate_name(tp->v.TypeVarTuple.name); + ret = validate_name(tp->v.TypeVarTuple.name) && + (!tp->v.TypeVarTuple.default_value || + validate_expr(state, tp->v.TypeVarTuple.default_value, Load)); break; } return ret; @@ -1037,7 +1043,6 @@ validate_type_params(struct validator *state, asdl_type_param_seq *tps) return 1; } - int _PyAST_Validate(mod_ty mod) { @@ -1053,10 +1058,10 @@ _PyAST_Validate(mod_ty mod) return 0; } /* Be careful here to prevent overflow. */ - int recursion_depth = C_RECURSION_LIMIT - tstate->c_recursion_remaining; + int recursion_depth = Py_C_RECURSION_LIMIT - tstate->c_recursion_remaining; starting_recursion_depth = recursion_depth; state.recursion_depth = starting_recursion_depth; - state.recursion_limit = C_RECURSION_LIMIT; + state.recursion_limit = Py_C_RECURSION_LIMIT; switch (mod->kind) { case Module_kind: |
