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.
This commit is contained in:
Jeremy Hylton 2002-07-17 16:30:39 +00:00
parent 9cb64b954a
commit 938ace69a0
61 changed files with 126 additions and 222 deletions

View file

@ -40,7 +40,7 @@ class ObjectDefinition(GeneratorGroup):
OutHeader2("Object type " + self.name)
sf = self.static and "staticforward "
sf = self.static and "static "
Output("%sPyTypeObject %s;", sf, self.typename)
Output()
Output("#define %s_Check(x) ((x)->ob_type == &%s)",
@ -164,7 +164,7 @@ class ObjectDefinition(GeneratorGroup):
Output("#define %s_hash NULL", self.prefix)
def outputTypeObject(self):
sf = self.static and "staticforward "
sf = self.static and "static "
Output()
Output("%sPyTypeObject %s = {", sf, self.typename)
IndentLevel()

View file

@ -6,7 +6,7 @@ typedef struct {
/* XXXX Add your own stuff here */
} $abbrev$object;
staticforward PyTypeObject $Abbrev$type;
static PyTypeObject $Abbrev$type;