intel/genxml: use correct header guards
authorEmil Velikov <emil.velikov@collabora.com>
Tue, 11 Oct 2016 17:26:23 +0000 (18:26 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Fri, 14 Oct 2016 10:53:39 +0000 (11:53 +0100)
Signed-off-by: Emil Velikov <emil.velikov@collabora.com>
Reviewed-by: Chad Versace <chadversary@chromium.org>
src/intel/genxml/genX_pack.h
src/intel/genxml/gen_macros.h
src/intel/genxml/gen_pack_header.py

index 0c25c4e94f44171f03dbeaa0c4e01c100f729403..2ec22269688b05b874e3fa171d76dcba087d936d 100644 (file)
@@ -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 */
index 1d591fa806641488a04ec46e5418db6666b10450..b4941b971acf8c3280c5aba868333aa0a055030a 100644 (file)
@@ -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 */
index 01f20ad886b824d9000634f9b2e4fecf2056bb2f..83e3fde2daa9ad8ebb0fdbb2dc377210a6fbd676 100644 (file)
@@ -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))