[igt-dev] [PATCH i-g-t] assembler: Fix or suppress clang warnings

Chris Wilson chris at chris-wilson.co.uk
Sun Jan 31 10:38:04 UTC 2021


For the simple assigment of constant strings to a char*, fix the type.

For the autogenerated bison output, tell gcc/clang to ignore the
warnings.

v2: When in doubt disable the warning generated by the bison output

Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 assembler/brw_context.h | 2 +-
 assembler/gen4asm.h     | 2 +-
 assembler/gen8_disasm.c | 2 ++
 assembler/gram.y        | 2 ++
 assembler/lex.l         | 2 +-
 assembler/main.c        | 2 +-
 assembler/meson.build   | 1 +
 assembler/ralloc.c      | 2 ++
 8 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/assembler/brw_context.h b/assembler/brw_context.h
index 90e66f714..335234e37 100644
--- a/assembler/brw_context.h
+++ b/assembler/brw_context.h
@@ -62,7 +62,7 @@ brw_init_context(struct brw_context *brw, int gen);
 
 /* brw_disasm.c */
 struct opcode_desc {
-    char    *name;
+    const char    *name;
     int	    nsrc;
     int	    ndst;
 };
diff --git a/assembler/gen4asm.h b/assembler/gen4asm.h
index 9537d4573..b1680ebc7 100644
--- a/assembler/gen4asm.h
+++ b/assembler/gen4asm.h
@@ -46,7 +46,7 @@ extern int errors;
 #define WARN_ALL	(1 << 31)
 extern unsigned int warning_flags;
 
-extern char *input_filename;
+extern const char *input_filename;
 
 extern struct brw_context genasm_context;
 extern struct brw_compile genasm_compile;
diff --git a/assembler/gen8_disasm.c b/assembler/gen8_disasm.c
index 68bc03347..99b062ea3 100644
--- a/assembler/gen8_disasm.c
+++ b/assembler/gen8_disasm.c
@@ -31,6 +31,8 @@
 #include "brw_defines.h"
 #include "gen8_instruction.h"
 
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
 static const struct opcode_desc *m_opcode = opcode_descs;
 
 static const char *const m_conditional_modifier[16] = {
diff --git a/assembler/gram.y b/assembler/gram.y
index d6f4a195b..77975e072 100644
--- a/assembler/gram.y
+++ b/assembler/gram.y
@@ -36,6 +36,8 @@
 #include "brw_eu.h"
 #include "gen8_instruction.h"
 
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
 #define DEFAULT_EXECSIZE (ffs(program_defaults.execute_size) - 1)
 #define DEFAULT_DSTREGION -1
 
diff --git a/assembler/lex.l b/assembler/lex.l
index 1ba576bfe..c12c5054c 100644
--- a/assembler/lex.l
+++ b/assembler/lex.l
@@ -7,7 +7,7 @@
 
 #include "string.h"
 int saved_state = 0;
-extern char *input_filename;
+extern const char *input_filename;
 
 /* Locations */
 int yycolumn = 1;
diff --git a/assembler/main.c b/assembler/main.c
index a1eca5251..2d39d4536 100644
--- a/assembler/main.c
+++ b/assembler/main.c
@@ -45,7 +45,7 @@ long int gen_level = 40;
 int advanced_flag = 0; /* 0: in unit of byte, 1: in unit of data element size */
 unsigned int warning_flags = WARN_ALWAYS;
 int need_export = 0;
-char *input_filename = "<stdin>";
+const char *input_filename = "<stdin>";
 int errors;
 
 struct brw_context genasm_brw_context;
diff --git a/assembler/meson.build b/assembler/meson.build
index 3b4af348a..68e6a9209 100644
--- a/assembler/meson.build
+++ b/assembler/meson.build
@@ -18,6 +18,7 @@ assembler_warnflags = [
 	'-Wno-old-style-definition',
 	'-Wno-redundant-decls',
 	'-Wno-shadow',
+	'-Wno-incompatible-pointer-types-discards-qualifiers',
 ]
 assembler_args = []
 foreach flag : assembler_warnflags
diff --git a/assembler/ralloc.c b/assembler/ralloc.c
index 69c1da4d3..772c34448 100644
--- a/assembler/ralloc.c
+++ b/assembler/ralloc.c
@@ -36,6 +36,8 @@ _CRTIMP int _vscprintf(const char *format, va_list argptr);
 
 #include "ralloc.h"
 
+#pragma GCC diagnostic ignored "-Wformat-nonliteral"
+
 #ifndef va_copy
 #ifdef __va_copy
 #define va_copy(dest, src) __va_copy((dest), (src))
-- 
2.30.0



More information about the igt-dev mailing list