Mesa (master): intel/genxml: Assert that genxml field start and ends are sane.

Kenneth Graunke kwg at kemper.freedesktop.org
Tue May 8 06:07:15 UTC 2018


Module: Mesa
Branch: master
Commit: e6fb8196cea78f56dc554eb226b97570ef90355d
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=e6fb8196cea78f56dc554eb226b97570ef90355d

Author: Kenneth Graunke <kenneth at whitecape.org>
Date:   Mon May  7 11:14:42 2018 -0700

intel/genxml: Assert that genxml field start and ends are sane.

Chris recently fixed a bunch of genxml end < start bugs, as well as
booleans that are wider than a bit.  These are way too easy to write, so
asserting that the fields are sane is a good plan.

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira at intel.com>
Acked-by: Jason Ekstrand <jason at jlekstrand.net>

---

 src/intel/genxml/gen_pack_header.py | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py
index 4bce425d12..c3d712c7a8 100644
--- a/src/intel/genxml/gen_pack_header.py
+++ b/src/intel/genxml/gen_pack_header.py
@@ -235,6 +235,13 @@ class Field(object):
         self.end = int(attrs["end"])
         self.type = attrs["type"]
 
+        assert self.start <= self.end, \
+               'field {} has end ({}) < start ({})'.format(self.name, self.end,
+                                                           self.start)
+        if self.type == 'bool':
+            assert self.end == self.start, \
+                   'bool field ({}) is too wide'.format(self.name)
+
         if "prefix" in attrs:
             self.prefix = attrs["prefix"]
         else:




More information about the mesa-commit mailing list