From d44478483c77233a2e44fba4afce371ba4946fa6 Mon Sep 17 00:00:00 2001 From: Lionel Landwerlin Date: Tue, 23 Nov 2021 14:58:05 +0200 Subject: [PATCH] genxml: protect _length defines in genX_bits.h MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Those defines exist in the packing headers too and some parts of the code (like mi_builder.h) include both. Signed-off-by: Lionel Landwerlin Reviewed-by: Tapani Pälli Part-of: --- src/intel/genxml/gen_bits_header.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/src/intel/genxml/gen_bits_header.py b/src/intel/genxml/gen_bits_header.py index 38901461af2..f70b97ad9c3 100644 --- a/src/intel/genxml/gen_bits_header.py +++ b/src/intel/genxml/gen_bits_header.py @@ -66,10 +66,16 @@ from operator import itemgetter #include "dev/intel_device_info.h" #include "util/macros.h" -<%def name="emit_per_gen_prop_func(item, prop)"> +<%def name="emit_per_gen_prop_func(item, prop, protect_defines)"> %if item.has_prop(prop): % for gen, value in sorted(item.iter_prop(prop), reverse=True): +% if protect_defines: +#ifndef ${gen.prefix(item.token_name)}_${prop} #define ${gen.prefix(item.token_name)}_${prop} ${value} +#endif +% else: +#define ${gen.prefix(item.token_name)}_${prop} ${value} +% endif % endfor static inline uint32_t ATTRIBUTE_PURE @@ -101,15 +107,15 @@ extern "C" { /* ${container.name} */ -${emit_per_gen_prop_func(container, 'length')} +${emit_per_gen_prop_func(container, 'length', True)} % for _, field in sorted(container.fields.items(), key=itemgetter(0)): /* ${container.name}::${field.name} */ -${emit_per_gen_prop_func(field, 'bits')} +${emit_per_gen_prop_func(field, 'bits', False)} -${emit_per_gen_prop_func(field, 'start')} +${emit_per_gen_prop_func(field, 'start', False)} % endfor % endfor