The array bounds checker on GCC 12 and newer reports a very large
number of false positives that result in build failures. In
particular, accesses through pointers to zero-length arrays (such as
those used by the linker table mechanism in include/ipxe/tables.h) are
reported as errors, contrary to the GCC documentation.
Work around this GCC issue by unconditionally disabling the warning.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
ifeq ($(CCTYPE),gcc)
CFLAGS += -ffreestanding
CFLAGS += -fcommon
-CFLAGS += -Wall -W -Wformat-nonliteral
-HOST_CFLAGS += -Wall -W -Wformat-nonliteral
+CFLAGS += -Wall -W -Wformat-nonliteral -Wno-array-bounds
+HOST_CFLAGS += -Wall -W -Wformat-nonliteral -Wno-array-bounds
endif
CFLAGS += $(WORKAROUND_CFLAGS) $(EXTRA_CFLAGS)
ASFLAGS += $(WORKAROUND_ASFLAGS) $(EXTRA_ASFLAGS)