mirror of https://github.com/python/cpython
ANSI-C-ify the placement of local var declarations.
This commit is contained in:
parent
b2308bb9be
commit
3144130217
14
Python/ast.c
14
Python/ast.c
|
@ -512,14 +512,14 @@ static asdl_seq *
|
||||||
seq_for_testlist(struct compiling *c, const node *n)
|
seq_for_testlist(struct compiling *c, const node *n)
|
||||||
{
|
{
|
||||||
/* testlist: test (',' test)* [','] */
|
/* testlist: test (',' test)* [','] */
|
||||||
|
asdl_seq *seq;
|
||||||
|
expr_ty expression;
|
||||||
|
int i;
|
||||||
assert(TYPE(n) == testlist
|
assert(TYPE(n) == testlist
|
||||||
|| TYPE(n) == listmaker
|
|| TYPE(n) == listmaker
|
||||||
|| TYPE(n) == testlist_gexp
|
|| TYPE(n) == testlist_gexp
|
||||||
|| TYPE(n) == testlist_safe
|
|| TYPE(n) == testlist_safe
|
||||||
);
|
);
|
||||||
asdl_seq *seq;
|
|
||||||
expr_ty expression;
|
|
||||||
int i;
|
|
||||||
|
|
||||||
seq = asdl_seq_new((NCH(n) + 1) / 2);
|
seq = asdl_seq_new((NCH(n) + 1) / 2);
|
||||||
if (!seq)
|
if (!seq)
|
||||||
|
@ -641,12 +641,13 @@ ast_for_arguments(struct compiling *c, const node *n)
|
||||||
compiler_complex_args(CHILD(ch, 1)));
|
compiler_complex_args(CHILD(ch, 1)));
|
||||||
}
|
}
|
||||||
else if (TYPE(CHILD(ch, 0)) == NAME) {
|
else if (TYPE(CHILD(ch, 0)) == NAME) {
|
||||||
|
expr_ty name;
|
||||||
if (!strcmp(STR(CHILD(ch, 0)), "None")) {
|
if (!strcmp(STR(CHILD(ch, 0)), "None")) {
|
||||||
ast_error(CHILD(ch, 0), "assignment to None");
|
ast_error(CHILD(ch, 0), "assignment to None");
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
expr_ty name = Name(NEW_IDENTIFIER(CHILD(ch, 0)),
|
name = Name(NEW_IDENTIFIER(CHILD(ch, 0)),
|
||||||
Param, LINENO(ch));
|
Param, LINENO(ch));
|
||||||
if (!name)
|
if (!name)
|
||||||
goto error;
|
goto error;
|
||||||
asdl_seq_APPEND(args, name);
|
asdl_seq_APPEND(args, name);
|
||||||
|
@ -1897,12 +1898,13 @@ ast_for_expr_stmt(struct compiling *c, const node *n)
|
||||||
if (!targets)
|
if (!targets)
|
||||||
return NULL;
|
return NULL;
|
||||||
for (i = 0; i < NCH(n) - 2; i += 2) {
|
for (i = 0; i < NCH(n) - 2; i += 2) {
|
||||||
|
expr_ty e;
|
||||||
node *ch = CHILD(n, i);
|
node *ch = CHILD(n, i);
|
||||||
if (TYPE(ch) == yield_expr) {
|
if (TYPE(ch) == yield_expr) {
|
||||||
ast_error(ch, "assignment to yield expression not possible");
|
ast_error(ch, "assignment to yield expression not possible");
|
||||||
goto error;
|
goto error;
|
||||||
}
|
}
|
||||||
expr_ty e = ast_for_testlist(c, ch, 0);
|
e = ast_for_testlist(c, ch, 0);
|
||||||
|
|
||||||
/* set context to assign */
|
/* set context to assign */
|
||||||
if (!e)
|
if (!e)
|
||||||
|
|
|
@ -2329,8 +2329,9 @@ compiler_import_as(struct compiler *c, identifier name, identifier asname)
|
||||||
src = dot + 1;
|
src = dot + 1;
|
||||||
while (dot) {
|
while (dot) {
|
||||||
/* NB src is only defined when dot != NULL */
|
/* NB src is only defined when dot != NULL */
|
||||||
|
PyObject *attr;
|
||||||
dot = strchr(src, '.');
|
dot = strchr(src, '.');
|
||||||
PyObject *attr = PyString_FromStringAndSize(src,
|
attr = PyString_FromStringAndSize(src,
|
||||||
dot ? dot - src : strlen(src));
|
dot ? dot - src : strlen(src));
|
||||||
ADDOP_O(c, LOAD_ATTR, attr, names);
|
ADDOP_O(c, LOAD_ATTR, attr, names);
|
||||||
src = dot + 1;
|
src = dot + 1;
|
||||||
|
|
|
@ -444,12 +444,13 @@ analyze_cells(PyObject *scope, PyObject *free)
|
||||||
static int
|
static int
|
||||||
check_unoptimized(const PySTEntryObject* ste) {
|
check_unoptimized(const PySTEntryObject* ste) {
|
||||||
char buf[300];
|
char buf[300];
|
||||||
|
const char* trailer;
|
||||||
|
|
||||||
if (ste->ste_type == ModuleBlock || !ste->ste_unoptimized
|
if (ste->ste_type == ModuleBlock || !ste->ste_unoptimized
|
||||||
|| !(ste->ste_free || ste->ste_child_free))
|
|| !(ste->ste_free || ste->ste_child_free))
|
||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
const char* trailer = (ste->ste_child_free ?
|
trailer = (ste->ste_child_free ?
|
||||||
"contains a nested function with free variables" :
|
"contains a nested function with free variables" :
|
||||||
"is a nested function");
|
"is a nested function");
|
||||||
|
|
||||||
|
@ -621,8 +622,9 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free,
|
||||||
/* Recursively call analyze_block() on each child block */
|
/* Recursively call analyze_block() on each child block */
|
||||||
for (i = 0; i < PyList_GET_SIZE(ste->ste_children); ++i) {
|
for (i = 0; i < PyList_GET_SIZE(ste->ste_children); ++i) {
|
||||||
PyObject *c = PyList_GET_ITEM(ste->ste_children, i);
|
PyObject *c = PyList_GET_ITEM(ste->ste_children, i);
|
||||||
|
PySTEntryObject* entry;
|
||||||
assert(c && PySTEntry_Check(c));
|
assert(c && PySTEntry_Check(c));
|
||||||
PySTEntryObject* entry = (PySTEntryObject*)c;
|
entry = (PySTEntryObject*)c;
|
||||||
if (!analyze_block(entry, newbound, newfree, newglobal))
|
if (!analyze_block(entry, newbound, newfree, newglobal))
|
||||||
goto error;
|
goto error;
|
||||||
if (entry->ste_free || entry->ste_child_free)
|
if (entry->ste_free || entry->ste_child_free)
|
||||||
|
|
Loading…
Reference in New Issue