summaryrefslogtreecommitdiffstats
path: root/Objects
diff options
context:
space:
mode:
authorJeremy Hylton <jeremy@alum.mit.edu>2002-07-17 16:30:39 (GMT)
committerJeremy Hylton <jeremy@alum.mit.edu>2002-07-17 16:30:39 (GMT)
commit938ace69a0e112424a2f426a4881d1fd1fc922d2 (patch)
tree29d42e42ec17a6ba2124b6fa36c3f00b23534413 /Objects
parent9cb64b954ae1bc3f0caeba98227de64cb6873026 (diff)
downloadcpython-938ace69a0e112424a2f426a4881d1fd1fc922d2.zip
cpython-938ace69a0e112424a2f426a4881d1fd1fc922d2.tar.gz
cpython-938ace69a0e112424a2f426a4881d1fd1fc922d2.tar.bz2
staticforward bites the dust.
The staticforward define was needed to support certain broken C compilers (notably SCO ODT 3.0, perhaps early AIX as well) botched the static keyword when it was used with a forward declaration of a static initialized structure. Standard C allows the forward declaration with static, and we've decided to stop catering to broken C compilers. (In fact, we expect that the compilers are all fixed eight years later.) I'm leaving staticforward and statichere defined in object.h as static. This is only for backwards compatibility with C extensions that might still use it. XXX I haven't updated the documentation.
Diffstat (limited to 'Objects')
-rw-r--r--Objects/dictobject.c2
-rw-r--r--Objects/floatobject.c2
-rw-r--r--Objects/intobject.c2
-rw-r--r--Objects/listobject.c2
-rw-r--r--Objects/longobject.c3
-rw-r--r--Objects/rangeobject.c4
-rw-r--r--Objects/stringobject.c2
-rw-r--r--Objects/tupleobject.c2
-rw-r--r--Objects/typeobject.c22
-rw-r--r--Objects/unicodeobject.c2
-rw-r--r--Objects/xxobject.c2
11 files changed, 23 insertions, 22 deletions
diff --git a/Objects/dictobject.c b/Objects/dictobject.c
index 2619160..86c74ba 100644
--- a/Objects/dictobject.c
+++ b/Objects/dictobject.c
@@ -1611,7 +1611,7 @@ dict_tp_clear(PyObject *op)
}
-staticforward PyObject *dictiter_new(dictobject *, binaryfunc);
+static PyObject *dictiter_new(dictobject *, binaryfunc);
static PyObject *
select_key(PyObject *key, PyObject *value)
diff --git a/Objects/floatobject.c b/Objects/floatobject.c
index d711726..2787a0a 100644
--- a/Objects/floatobject.c
+++ b/Objects/floatobject.c
@@ -678,7 +678,7 @@ float_float(PyObject *v)
}
-staticforward PyObject *
+static PyObject *
float_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
static PyObject *
diff --git a/Objects/intobject.c b/Objects/intobject.c
index 444ada3..0202980 100644
--- a/Objects/intobject.c
+++ b/Objects/intobject.c
@@ -775,7 +775,7 @@ int_hex(PyIntObject *v)
return PyString_FromString(buf);
}
-staticforward PyObject *
+static PyObject *
int_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
static PyObject *
diff --git a/Objects/listobject.c b/Objects/listobject.c
index d0d1127..8173025 100644
--- a/Objects/listobject.c
+++ b/Objects/listobject.c
@@ -1282,7 +1282,7 @@ samplesortslice(PyObject **lo, PyObject **hi, PyObject *compare)
#undef SETK
-staticforward PyTypeObject immutable_list_type;
+static PyTypeObject immutable_list_type;
static PyObject *
listsort(PyListObject *self, PyObject *args)
diff --git a/Objects/longobject.c b/Objects/longobject.c
index 7f94a62..b1271f4 100644
--- a/Objects/longobject.c
+++ b/Objects/longobject.c
@@ -2199,7 +2199,8 @@ long_hex(PyObject *v)
{
return long_format(v, 16, 1);
}
-staticforward PyObject *
+
+static PyObject *
long_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
static PyObject *
diff --git a/Objects/rangeobject.c b/Objects/rangeobject.c
index 7c0e609..3080252 100644
--- a/Objects/rangeobject.c
+++ b/Objects/rangeobject.c
@@ -163,7 +163,7 @@ static PySequenceMethods range_as_sequence = {
0, /* sq_slice */
};
-staticforward PyObject * range_iter(PyObject *seq);
+static PyObject * range_iter(PyObject *seq);
PyTypeObject PyRange_Type = {
PyObject_HEAD_INIT(&PyType_Type)
@@ -217,7 +217,7 @@ typedef struct {
long len;
} rangeiterobject;
-staticforward PyTypeObject Pyrangeiter_Type;
+static PyTypeObject Pyrangeiter_Type;
static PyObject *
range_iter(PyObject *seq)
diff --git a/Objects/stringobject.c b/Objects/stringobject.c
index 0543f80..5e40524 100644
--- a/Objects/stringobject.c
+++ b/Objects/stringobject.c
@@ -2864,7 +2864,7 @@ string_methods[] = {
{NULL, NULL} /* sentinel */
};
-staticforward PyObject *
+static PyObject *
str_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
static PyObject *
diff --git a/Objects/tupleobject.c b/Objects/tupleobject.c
index 1a15bb7..add9cac 100644
--- a/Objects/tupleobject.c
+++ b/Objects/tupleobject.c
@@ -479,7 +479,7 @@ tuplerichcompare(PyObject *v, PyObject *w, int op)
return PyObject_RichCompare(vt->ob_item[i], wt->ob_item[i], op);
}
-staticforward PyObject *
+static PyObject *
tuple_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
static PyObject *
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index 31a7c3d..9662d95 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -356,7 +356,7 @@ subtype_clear(PyObject *self)
return 0;
}
-staticforward PyObject *lookup_maybe(PyObject *, char *, PyObject **);
+static PyObject *lookup_maybe(PyObject *, char *, PyObject **);
static int
call_finalizer(PyObject *self)
@@ -469,7 +469,7 @@ subtype_dealloc(PyObject *self)
}
}
-staticforward PyTypeObject *solid_base(PyTypeObject *type);
+static PyTypeObject *solid_base(PyTypeObject *type);
/* type test with subclassing support */
@@ -894,10 +894,10 @@ solid_base(PyTypeObject *type)
return base;
}
-staticforward void object_dealloc(PyObject *);
-staticforward int object_init(PyObject *, PyObject *, PyObject *);
-staticforward int update_slot(PyTypeObject *, PyObject *);
-staticforward void fixup_slot_dispatchers(PyTypeObject *);
+static void object_dealloc(PyObject *);
+static int object_init(PyObject *, PyObject *, PyObject *);
+static int update_slot(PyTypeObject *, PyObject *);
+static void fixup_slot_dispatchers(PyTypeObject *);
static PyObject *
subtype_dict(PyObject *obj, void *context)
@@ -2187,8 +2187,8 @@ inherit_slots(PyTypeObject *type, PyTypeObject *base)
}
}
-staticforward int add_operators(PyTypeObject *);
-staticforward int add_subclass(PyTypeObject *base, PyTypeObject *type);
+static int add_operators(PyTypeObject *);
+static int add_subclass(PyTypeObject *base, PyTypeObject *type);
int
PyType_Ready(PyTypeObject *type)
@@ -3118,7 +3118,7 @@ SLOT1BIN(slot_nb_divide, nb_divide, "__div__", "__rdiv__")
SLOT1BIN(slot_nb_remainder, nb_remainder, "__mod__", "__rmod__")
SLOT1BIN(slot_nb_divmod, nb_divmod, "__divmod__", "__rdivmod__")
-staticforward PyObject *slot_nb_power(PyObject *, PyObject *, PyObject *);
+static PyObject *slot_nb_power(PyObject *, PyObject *, PyObject *);
SLOT1BINFULL(slot_nb_power_binary, slot_nb_power,
nb_power, "__pow__", "__rpow__")
@@ -4013,8 +4013,8 @@ update_one_slot(PyTypeObject *type, slotdef *p)
return p;
}
-staticforward int recurse_down_subclasses(PyTypeObject *type,
- slotdef **pp, PyObject *name);
+static int recurse_down_subclasses(PyTypeObject *type, slotdef **pp,
+ PyObject *name);
/* In the type, update the slots whose slotdefs are gathered in the pp0 array,
and then do the same for all this type's subtypes. */
diff --git a/Objects/unicodeobject.c b/Objects/unicodeobject.c
index 1b45ef7..9f61652 100644
--- a/Objects/unicodeobject.c
+++ b/Objects/unicodeobject.c
@@ -5796,7 +5796,7 @@ static PyBufferProcs unicode_as_buffer = {
(getcharbufferproc) unicode_buffer_getcharbuf,
};
-staticforward PyObject *
+static PyObject *
unicode_subtype_new(PyTypeObject *type, PyObject *args, PyObject *kwds);
static PyObject *
diff --git a/Objects/xxobject.c b/Objects/xxobject.c
index 117714a..d847c52 100644
--- a/Objects/xxobject.c
+++ b/Objects/xxobject.c
@@ -18,7 +18,7 @@ typedef struct {
PyObject *x_attr; /* Attributes dictionary */
} xxobject;
-staticforward PyTypeObject Xxtype;
+static PyTypeObject Xxtype;
#define is_xxobject(v) ((v)->ob_type == &Xxtype)