summaryrefslogtreecommitdiffstats
path: root/Python
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2015-04-24 16:02:53 (GMT)
committerBenjamin Peterson <benjamin@python.org>2015-04-24 16:02:53 (GMT)
commit51f58059f6d5eb958201d1d90286e5917b77ed59 (patch)
tree98faacf9c6c9c3f3215f0dc1ceebf4d1386e5f03 /Python
parent247789cee99c8933c140110791d136cbe37a003b (diff)
parent9bdd61338d5a03cb2d8a677c646df20f64fef30e (diff)
downloadcpython-51f58059f6d5eb958201d1d90286e5917b77ed59.zip
cpython-51f58059f6d5eb958201d1d90286e5917b77ed59.tar.gz
cpython-51f58059f6d5eb958201d1d90286e5917b77ed59.tar.bz2
merge 3.4 (#24049)
Diffstat (limited to 'Python')
-rw-r--r--Python/symtable.c31
1 files changed, 0 insertions, 31 deletions
diff --git a/Python/symtable.c b/Python/symtable.c
index da164aa..9512673 100644
--- a/Python/symtable.c
+++ b/Python/symtable.c
@@ -583,35 +583,6 @@ drop_class_free(PySTEntryObject *ste, PyObject *free)
return 1;
}
-/* Check for illegal statements in unoptimized namespaces */
-static int
-check_unoptimized(const PySTEntryObject* ste) {
- const char* trailer;
-
- if (ste->ste_type != FunctionBlock || !ste->ste_unoptimized
- || !(ste->ste_free || ste->ste_child_free))
- return 1;
-
- trailer = (ste->ste_child_free ?
- "contains a nested function with free variables" :
- "is a nested function");
-
- switch (ste->ste_unoptimized) {
- case OPT_TOPLEVEL: /* import * at top-level is fine */
- return 1;
- case OPT_IMPORT_STAR:
- PyErr_Format(PyExc_SyntaxError,
- "import * is not allowed in function '%U' because it %s",
- ste->ste_name, trailer);
- break;
- }
-
- PyErr_SyntaxLocationObject(ste->ste_table->st_filename,
- ste->ste_opt_lineno,
- ste->ste_opt_col_offset);
- return 0;
-}
-
/* Enter the final scope information into the ste_symbols dict.
*
* All arguments are dicts. Modifies symbols, others are read-only.
@@ -854,8 +825,6 @@ analyze_block(PySTEntryObject *ste, PyObject *bound, PyObject *free,
if (!update_symbols(ste->ste_symbols, scopes, bound, newfree,
ste->ste_type == ClassBlock))
goto error;
- if (!check_unoptimized(ste))
- goto error;
temp = PyNumber_InPlaceOr(free, newfree);
if (!temp)