intel/genxml: Emit genxml enums as C enums

The previous commits got rid of any clashes between #defines and enum
values and we can now emit the genxml enums as debugger friendly C
enums.

Signed-off-by: Kristian H. Kristensen <hoegsberg@gmail.com>
Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
This commit is contained in:
Kristian H. Kristensen 2016-11-28 16:34:08 -08:00
parent 8fc74b879e
commit fc2225b1af

View file

@ -268,7 +268,7 @@ class Field(object):
elif self.type in self.parser.structs:
type = 'struct ' + self.parser.gen_prefix(safe_name(self.type))
elif self.type in self.parser.enums:
type = 'uint32_t'
type = 'enum ' + self.parser.gen_prefix(safe_name(self.type))
elif self.type == 'mbo':
return
else:
@ -633,14 +633,14 @@ class Parser(object):
self.emit_pack_function(self.struct, self.group)
def emit_enum(self):
print('/* enum %s */' % self.gen_prefix(self.enum))
print('enum %s {' % self.gen_prefix(self.enum))
for value in self.values:
if self.prefix:
name = self.prefix + "_" + value.name
else:
name = value.name
print('#define %-36s %6d' % (name.upper(), value.value))
print('')
print(' %-36s = %6d,' % (name.upper(), value.value))
print('};\n')
def parse(self, filename):
file = open(filename, "rb")