From: Jack Jansen Date: Wed, 5 Sep 2001 10:27:53 +0000 (+0000) Subject: Only output the buffer size error label if it is used. X-Git-Tag: v2.2a3~90 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5a1516bce5c9aa6f957f1e93ba85d143d8eac03a;p=python Only output the buffer size error label if it is used. Shuts up another couple of gcc warnings. --- diff --git a/Tools/bgen/bgen/bgenBuffer.py b/Tools/bgen/bgen/bgenBuffer.py index 9d28b80b86..e948a146d9 100644 --- a/Tools/bgen/bgen/bgenBuffer.py +++ b/Tools/bgen/bgen/bgenBuffer.py @@ -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): diff --git a/Tools/bgen/bgen/bgenHeapBuffer.py b/Tools/bgen/bgen/bgenHeapBuffer.py index c6160ba479..1b16d555ea 100644 --- a/Tools/bgen/bgen/bgenHeapBuffer.py +++ b/Tools/bgen/bgen/bgenHeapBuffer.py @@ -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)