summaryrefslogtreecommitdiff
path: root/trace.py
diff options
context:
space:
mode:
authorJosé Fonseca <jose.r.fonseca@gmail.com>2011-05-09 00:54:39 +0100
committerJosé Fonseca <jose.r.fonseca@gmail.com>2011-05-09 00:54:39 +0100
commit8bec8a0c309cffea31148ccbf0d5cf76e3e93619 (patch)
treef6723eab99f47fee16556231f0852bdc4b5523e4 /trace.py
parentc28741ae0d28c4a761aad6640724c95c125f5186 (diff)
Prevent different enums from obtaining the same id.
Regression introduced whith the merge of glenum,py and glparams, because we manipulate enums after creating then, Thanks to Zack for spotting this
Diffstat (limited to 'trace.py')
-rw-r--r--trace.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/trace.py b/trace.py
index 7076c9f..9f115a3 100644
--- a/trace.py
+++ b/trace.py
@@ -73,12 +73,15 @@ class DumpDeclarator(stdapi.OnceVisitor):
def visit_blob(self, array):
pass
+ __enum_id = 0
+
def visit_enum(self, enum):
print 'static void __traceEnum%s(const %s value) {' % (enum.id, enum.expr)
n = len(enum.values)
for i in range(n):
value = enum.values[i]
- print ' static const Trace::EnumSig sig%u = {%u, "%s", %s};' % (i, enum.vid + i, value, value)
+ print ' static const Trace::EnumSig sig%u = {%u, "%s", %s};' % (i, DumpDeclarator.__enum_id, value, value)
+ DumpDeclarator.__enum_id += 1
print ' const Trace::EnumSig *sig;'
print ' switch(value) {'
for i in range(n):