[Python-checkins] r45288 - python/trunk/Python/symtable.c (original) (raw)
anthony.baxter python-checkins at python.org
Wed Apr 12 06:00:50 CEST 2006
- Previous message: [Python-checkins] buildbot warnings in x86 XP-2 trunk
- Next message: [Python-checkins] r45289 - python/trunk/Modules/threadmodule.c
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Author: anthony.baxter Date: Wed Apr 12 06:00:50 2006 New Revision: 45288
Modified: python/trunk/Python/symtable.c Log: Make symtable.c safe for C++ compilers. Changed macros in the same way as compile.c to add a cast.
Modified: python/trunk/Python/symtable.c
--- python/trunk/Python/symtable.c (original) +++ python/trunk/Python/symtable.c Wed Apr 12 06:00:50 2006 @@ -227,7 +227,8 @@ case Module_kind: seq = mod->v.Module.body; for (i = 0; i < asdl_seq_LEN(seq); i++) - if (!symtable_visit_stmt(st, asdl_seq_GET(seq, i))) + if (!symtable_visit_stmt(st,
case Expression_kind: @@ -237,7 +238,8 @@ case Interactive_kind: seq = mod->v.Interactive.body; for (i = 0; i < asdl_seq_LEN(seq); i++)(stmt_ty)asdl_seq_GET(seq, i))) goto error; break;
if (!symtable_visit_stmt(st, asdl_seq_GET(seq, i)))
if (!symtable_visit_stmt(st,
case Suite_kind: @@ -506,7 +508,7 @@ */ static int update_symbols(PyObject *symbols, PyObject *scope,(stmt_ty)asdl_seq_GET(seq, i))) goto error; break;
PyObject *bound, PyObject *free, int class)
PyObject *bound, PyObject *free, int classflag)
{
PyObject *name, *v, *u, *w, *free_value = NULL;
Py_ssize_t pos = 0;
@@ -541,7 +543,7 @@
the class that has the same name as a local
or global in the class scope.
*/
- if (class &&
+ if (classflag &&
PyInt_AS_LONG(o) & (DEF_BOUND | DEF_GLOBAL)) {
long i = PyInt_AS_LONG(o) | DEF_FREE_CLASS;
o = PyInt_FromLong(i);
@@ -851,7 +853,7 @@
int i;
asdl_seq seq = (SEQ); / avoid variable capture */
for (i = 0; i < asdl_seq_LEN(seq); i++) {
- TYPE ## _ty elt = asdl_seq_GET(seq, i);
+ TYPE ## _ty elt = (TYPE ## _ty)asdl_seq_GET(seq, i);
if (!symtable_visit_ ## TYPE((ST), elt))
return 0;
}
@@ -861,7 +863,7 @@
int i;
asdl_seq *seq = (SEQ); /* avoid variable capture */
for (i = 0; i < asdl_seq_LEN(seq); i++) {
- TYPE ## _ty elt = asdl_seq_GET(seq, i);
+ TYPE ## _ty elt = (TYPE ## _ty)asdl_seq_GET(seq, i);
if (!symtable_visit_ ## TYPE((ST), elt)) {
symtable_exit_block((ST), (S));
return 0;
@@ -873,7 +875,7 @@
int i;
asdl_seq *seq = (SEQ); /* avoid variable capture */
for (i = (START); i < asdl_seq_LEN(seq); i++) {
- TYPE ## _ty elt = asdl_seq_GET(seq, i);
+ TYPE ## _ty elt = (TYPE ## _ty)asdl_seq_GET(seq, i);
if (!symtable_visit_ ## TYPE((ST), elt))
return 0;
}
@@ -883,7 +885,7 @@
int i;
asdl_seq *seq = (SEQ); /* avoid variable capture */
for (i = (START); i < asdl_seq_LEN(seq); i++) {
- TYPE ## _ty elt = asdl_seq_GET(seq, i);
+ TYPE ## _ty elt = (TYPE ## _ty)asdl_seq_GET(seq, i);
if (!symtable_visit_ ## TYPE((ST), elt)) {
symtable_exit_block((ST), (S));
return 0;
@@ -1036,7 +1038,7 @@
int i;
asdl_seq *seq = s->v.Global.names;
for (i = 0; i < asdl_seq_LEN(seq); i++) {
- identifier name = asdl_seq_GET(seq, i);
+ identifier name = (identifier)asdl_seq_GET(seq, i);
char *c_name = PyString_AS_STRING(name);
long cur = symtable_lookup(st, name);
if (cur < 0)
@@ -1200,7 +1202,7 @@
/* go through all the toplevel arguments first */
for (i = 0; i < asdl_seq_LEN(args); i++) {
expr_ty arg = asdl_seq_GET(args, i);
expr_ty arg = (expr_ty)asdl_seq_GET(args, i); if (arg->kind == Name_kind) { assert(arg->v.Name.ctx == Param || (arg->v.Name.ctx == Store && !toplevel));
@@ -1236,7 +1238,7 @@ { int i; for (i = 0; i < asdl_seq_LEN(args); i++) { - expr_ty arg = asdl_seq_GET(args, i); + expr_ty arg = (expr_ty)asdl_seq_GET(args, i); if (arg->kind == Tuple_kind && !symtable_visit_params(st, arg->v.Tuple.elts, 0)) return 0;
- Previous message: [Python-checkins] buildbot warnings in x86 XP-2 trunk
- Next message: [Python-checkins] r45289 - python/trunk/Modules/threadmodule.c
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]