From 926652be104f607ada197b879b8e28b5d6dafb16 Mon Sep 17 00:00:00 2001 From: Nirbheek Chauhan Date: Wed, 4 Nov 2020 18:37:32 +0530 Subject: [PATCH] meson: Enable some MSVC warnings for parity with GCC/Clang This makes it easier to do development with MSVC by making it warn on common issues that GCC/Clang error out for in our CI configuration. Continuation from https://gitlab.freedesktop.org/gstreamer/gst-build/-/merge_requests/223 Part-of: --- meson.build | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/meson.build b/meson.build index 3e0f1d8e84..7edc8409cf 100644 --- a/meson.build +++ b/meson.build @@ -36,18 +36,24 @@ cc = meson.get_compiler('c') cdata = configuration_data() -# Ignore several spurious warnings for things gstreamer does very commonly -# If a warning is completely useless and spammy, use '/wdXXXX' to suppress it -# If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once -# NOTE: Only add warnings here if you are sure they're spurious if cc.get_id() == 'msvc' - add_project_arguments( + msvc_args = [ + # Ignore several spurious warnings for things gstreamer does very commonly + # If a warning is completely useless and spammy, use '/wdXXXX' to suppress it + # If a warning is harmless but hard to fix, use '/woXXXX' so it's shown once + # NOTE: Only add warnings here if you are sure they're spurious '/wd4018', # implicit signed/unsigned conversion '/wd4146', # unary minus on unsigned (beware INT_MIN) '/wd4244', # lossy type conversion (e.g. double -> int) '/wd4305', # truncating type conversion (e.g. double -> float) cc.get_supported_arguments(['/utf-8']), # set the input encoding to utf-8 - language : 'c') + + # Enable some warnings on MSVC to match GCC/Clang behaviour + '/w14062', # enumerator 'identifier' in switch of enum 'enumeration' is not handled + '/w14101', # 'identifier' : unreferenced local variable + '/w14189', # 'identifier' : local variable is initialized but not referenced + ] + add_project_arguments(msvc_args, language: 'c') elif cc.has_link_argument('-Wl,-Bsymbolic-functions') # FIXME: Add an option for this if people ask for it add_project_link_arguments('-Wl,-Bsymbolic-functions', language : 'c')