[PATCH 1/1] tools/asn1_compiler: avoid -Wdiscarded-qualifiers

Heinrich Schuchardt heinrich.schuchardt at canonical.com
Sat Apr 18 08:32:13 CEST 2026


Building with GCC 15.2 results in warnings:

    tools/asn1_compiler.c: In function ‘tokenise’:
    tools/asn1_compiler.c:442:37: warning:
    assignment discards ‘const’ qualifier from pointer target type
    [-Wdiscarded-qualifiers]
      442 |             dir = bsearch(&tokens[tix], directives,
          |                 ^

    tools/asn1_compiler.c: In function ‘main’:
    tools/asn1_compiler.c:632:11: warning:
    assignment discards ‘const’ qualifier from pointer target type
    [-Wdiscarded-qualifiers]
      632 |         p = strchr(grammar_name, '.');
          |           ^

bsearch() is defined as

       void *bsearch(size_t n, size_t size;
                     const void key[size], const void base[size * n],
                     size_t n, size_t size,
                     typeof(int (const void [size], const void [size]))
                         *compar);

* Use the correct type for dir.

strchr() is defined as

        char *strchr(const char *s, int c).

* Use a conversion for the assignment to p.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
---
 tools/asn1_compiler.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/tools/asn1_compiler.c b/tools/asn1_compiler.c
index 03fb7e03758..c2ca467e18f 100644
--- a/tools/asn1_compiler.c
+++ b/tools/asn1_compiler.c
@@ -409,7 +409,7 @@ static void tokenise(char *buffer, char *end)
 
 			/* Handle string tokens */
 			if (isalpha(*p)) {
-				const char **dir;
+				const char * const *dir;
 
 				/* Can be a directive, type name or element
 				 * name.  Find the end of the name.
@@ -629,7 +629,7 @@ int main(int argc, char **argv)
 		perror(NULL);
 		exit(1);
 	}
-	p = strchr(grammar_name, '.');
+	p = (char *)strchr(grammar_name, '.');
 	if (p)
 		*p = '\0';
 
-- 
2.53.0



More information about the U-Boot mailing list