test/Makefile: Omit `-Wmissing-prototypes` from the C++ compiler flags
This is a preparation patch to integrate -Wmissing-prototypes to the
CI test robot. Clang++ is not happy with -Wmissing-prototypes:
cc1plus: warning: command-line option '-Wmissing-prototypes' \
is valid for C/ObjC but not for C++
Omit this flag when we are compiling a C++ source file.
Using -Wmissing-prototypes ensures we mark functions and variables as
static if we don't use them outside the translation unit.
Signed-off-by: Ammar Faizi <ammarfaizi2@gnuweeb.org>
Link: https://lore.kernel.org/r/20221124162633.3856761-8-ammar.faizi@intel.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
diff --git a/test/Makefile b/test/Makefile
index 8ad9964..87b1fe1 100644
--- a/test/Makefile
+++ b/test/Makefile
@@ -214,8 +214,17 @@
%.t: %.c $(helpers) helpers.h ../src/liburing.a
$(QUIET_CC)$(CC) $(CPPFLAGS) $(CFLAGS) -o $@ $< $(helpers) $(LDFLAGS)
+#
+# Clang++ is not happy with -Wmissing-prototypes:
+#
+# cc1plus: warning: command-line option '-Wmissing-prototypes' \
+# is valid for C/ObjC but not for C++
+#
%.t: %.cc $(helpers) helpers.h ../src/liburing.a
- $(QUIET_CXX)$(CXX) $(CPPFLAGS) $(CXXFLAGS) -o $@ $< $(helpers) $(LDFLAGS)
+ $(QUIET_CXX)$(CXX) \
+ $(patsubst -Wmissing-prototypes,,$(CPPFLAGS)) \
+ $(patsubst -Wmissing-prototypes,,$(CXXFLAGS)) \
+ -o $@ $< $(helpers) $(LDFLAGS)
install: $(test_targets) runtests.sh runtests-loop.sh