Kaydet (Commit) 5a1516bc authored tarafından Jack Jansen's avatar Jack Jansen

Only output the buffer size error label if it is used.

Shuts up another couple of gcc warnings.
üst 703ad705
......@@ -36,6 +36,7 @@ class FixedInputOutputBufferType(InputOnlyType):
self.datatype = datatype
self.sizetype = sizetype
self.sizeformat = sizeformat or type2format[sizetype]
self.label_needed = 0
def declare(self, name):
self.declareBuffer(name)
......@@ -67,6 +68,7 @@ class FixedInputOutputBufferType(InputOnlyType):
Output('PyErr_SetString(PyExc_TypeError, "buffer length should be %s");',
self.size)
Output("goto %s__error__;", name)
self.label_needed = 1
OutRbrace()
self.transferSize(name)
......@@ -83,9 +85,10 @@ class FixedInputOutputBufferType(InputOnlyType):
return "%s__out__, (int)%s" % (name, self.size)
def cleanup(self, name):
DedentLevel()
Output(" %s__error__: ;", name)
IndentLevel()
if self.label_needed:
DedentLevel()
Output(" %s__error__: ;", name)
IndentLevel()
class FixedCombinedInputOutputBufferType(FixedInputOutputBufferType):
......
......@@ -24,6 +24,7 @@ class HeapInputOutputBufferType(FixedInputOutputBufferType):
OutLbrace()
Output('PyErr_NoMemory();')
Output("goto %s__error__;", name)
self.label_needed = 1
OutRbrace()
Output("%s__len__ = %s__in_len__;", name, name)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment