[Mesa-dev] [PATCH 09/12] intel/genxml: use correct header guards

Emil Velikov emil.l.velikov at gmail.com
Tue Oct 11 17:26:23 UTC 2016


From: Emil Velikov <emil.velikov at collabora.com>

Signed-off-by: Emil Velikov <emil.velikov at collabora.com>
---
 src/intel/genxml/genX_pack.h        |  5 ++++-
 src/intel/genxml/gen_macros.h       |  5 ++++-
 src/intel/genxml/gen_pack_header.py | 22 ++++++++++++++--------
 3 files changed, 22 insertions(+), 10 deletions(-)

diff --git a/src/intel/genxml/genX_pack.h b/src/intel/genxml/genX_pack.h
index 0c25c4e..2ec2226 100644
--- a/src/intel/genxml/genX_pack.h
+++ b/src/intel/genxml/genX_pack.h
@@ -21,7 +21,8 @@
  * IN THE SOFTWARE.
  */
 
-#pragma once
+#ifndef GENX_PACK_H
+#define GENX_PACK_H
 
 #ifndef GEN_VERSIONx10
 #  error "The GEN_VERSIONx10 macro must be defined"
@@ -46,3 +47,5 @@
 #else
 #  error "Need to add a pack header include for this gen"
 #endif
+
+#endif /* GENX_PACK_H */
diff --git a/src/intel/genxml/gen_macros.h b/src/intel/genxml/gen_macros.h
index 1d591fa..b4941b9 100644
--- a/src/intel/genxml/gen_macros.h
+++ b/src/intel/genxml/gen_macros.h
@@ -21,7 +21,8 @@
  * IN THE SOFTWARE.
  */
 
-#pragma once
+#ifndef GEN_MACROS_H
+#define GEN_MACROS_H
 
 /* Macros for handling per-gen compilation.
  *
@@ -87,3 +88,5 @@
 #else
 #  error "Need to add prefixing macros for this gen"
 #endif
+
+#endif /* GEN_MACROS_H */
diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py
index 01f20ad..83e3fde 100644
--- a/src/intel/genxml/gen_pack_header.py
+++ b/src/intel/genxml/gen_pack_header.py
@@ -40,7 +40,8 @@ pack_header = """%(license)s
  * This file has been generated, do not hand edit.
  */
 
-#pragma once
+#ifndef %(guard)s
+#define %(guard)s
 
 #include <stdio.h>
 #include <stdint.h>
@@ -485,11 +486,20 @@ class Parser(object):
         self.structs = {}
         self.registers = {}
 
+    def gen_prefix(self, name):
+        if name[0] == "_":
+            return 'GEN%s%s' % (self.gen, name)
+        else:
+            return 'GEN%s_%s' % (self.gen, name)
+
+    def gen_guard(self):
+        return self.gen_prefix("PACK_H")
+
     def start_element(self, name, attrs):
         if name == "genxml":
             self.platform = attrs["name"]
             self.gen = attrs["gen"].replace('.', '')
-            print(pack_header % {'license': license, 'platform': self.platform})
+            print(pack_header % {'license': license, 'platform': self.platform, 'guard': self.gen_guard()})
         elif name in ("instruction", "struct", "register"):
             if name == "instruction":
                 self.instruction = safe_name(attrs["name"])
@@ -548,12 +558,8 @@ class Parser(object):
         elif name  == "enum":
             self.emit_enum()
             self.enum = None
-
-    def gen_prefix(self, name):
-        if name[0] == "_":
-            return 'GEN%s%s' % (self.gen, name)
-        else:
-            return 'GEN%s_%s' % (self.gen, name)
+        elif name == "genxml":
+            print('#endif /* %s */' % self.gen_guard())
 
     def emit_template_struct(self, name, group):
         print("struct %s {" % self.gen_prefix(name))
-- 
2.10.0



More information about the mesa-dev mailing list