Supress false positive warning GCC -O3
Commit Message
Building with gcc -O3 bring false positive warning. This is a GCC bug, and
this patch is a work around.
This is reported at
https://sourceware.org/bugzilla/show_bug.cgi?id=32527
Cheers,
Phi
From 3ac65cf6eec36a9a22af378e89bc4d5b148d8713 Mon Sep 17 00:00:00 2001
From: Philippe Benard <phi.debian@gmail.com>
Date: Thu, 9 Jan 2025 14:59:00 +0100
Subject: [PATCH] libcpu: Remove false positive null ptr deref warning for GCC
-O3
See bugzilla Bug#32527
* libcpu/Makefile.am
i386_lex_CFLAGS += $(subst -O3,-Wno-null-dereference,$(findstring -O3,$(CFLAGS)))
i386_lex_CFLAGS is a make variable to tweak the i386_lex.c.o
specific compile flags. The are already some -W defined there, I'd
like to add one to avoid seeing false warning during build with -O3
compile flag.
GCC 14.2 (as well as 13.x) produce a false positive warning for the
i386 lexer, a bug is filled already against GCC for that, CLANG is
imune.
Signed-off-by: Philippe Benard <phi.debian@gmail.com>
---
libcpu/Makefile.am | 2 ++
1 file changed, 2 insertions(+)
@@ -91,6 +91,8 @@ libeu = ../lib/libeu.a
i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare \
-Wno-implicit-fallthrough
+i386_lex_CFLAGS += $(subst -O3,-Wno-null-dereference,$(findstring -O3,$(CFLAGS)))
+
i386_parse.o: i386_parse.c i386.mnemonics
i386_lex.o: i386_parse.h
i386_gendis_LDADD = $(libeu) -lm $(obstack_LIBS)
--
2.43.0