From: Ammar Faizi Date: Thu, 12 May 2022 16:43:33 +0000 (+0700) Subject: Makefile: Suppress `-Wimplicit-fallthrough` when compiling `lex.yy` X-Git-Tag: test-tag-2022-08-09~55 X-Git-Url: https://git.kernel.dk/?p=fio.git;a=commitdiff_plain;h=6f1a24593c227a4f392f454698aca20e95f0006c Makefile: Suppress `-Wimplicit-fallthrough` when compiling `lex.yy` lex.yy.c is an auto generated C file. When compiling with clang-15, we got the following warning: ``` CC lex.yy.o lex.yy.c:1444:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough] case EOB_ACT_END_OF_FILE: ^ lex.yy.c:1444:5: note: insert '__attribute__((fallthrough));' to silence this warning case EOB_ACT_END_OF_FILE: ^ __attribute__((fallthrough)); lex.yy.c:1444:5: note: insert 'break;' to avoid fall-through case EOB_ACT_END_OF_FILE: ^ break; 1 warning generated. ``` There is nothing we can do to fix lex.yy.c since it's an auto generated file. Fix this by appending `-Wno-implicit-fallthrough` when compiling this file if we have `-Wimplicit-fallthrough` flag enabled. Reviewed-by: Niklas Cassel Signed-off-by: Ammar Faizi Link: https://lore.kernel.org/r/20220512164333.46516-4-ammarfaizi2@gnuweeb.org Signed-off-by: Jens Axboe --- diff --git a/Makefile b/Makefile index 8495e727..ed66305a 100644 --- a/Makefile +++ b/Makefile @@ -535,8 +535,12 @@ else $(QUIET_LEX)$(LEX) $< endif +ifneq (,$(findstring -Wimplicit-fallthrough,$(CFLAGS))) +LEX_YY_CFLAGS := -Wno-implicit-fallthrough +endif + lex.yy.o: lex.yy.c y.tab.h - $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $< + $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LEX_YY_CFLAGS) -c $< y.tab.o: y.tab.c y.tab.h $(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<