summaryrefslogtreecommitdiffstats
path: root/meson/suppressions/meson.build
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2023-05-02 15:04:23 -0400
committerDavid Robillard <d@drobilla.net>2023-05-02 15:04:23 -0400
commit98bfa2664067a2274c40431d94dc00b8f5e52f8f (patch)
treef96e200a6a17e49eb89a36a37365356cbd2da8eb /meson/suppressions/meson.build
parent8570dca811848ce9da417a367321f2e0087b05c5 (diff)
downloadganv-98bfa2664067a2274c40431d94dc00b8f5e52f8f.tar.gz
ganv-98bfa2664067a2274c40431d94dc00b8f5e52f8f.tar.bz2
ganv-98bfa2664067a2274c40431d94dc00b8f5e52f8f.zip
Replace strict option with new meson warning level
Diffstat (limited to 'meson/suppressions/meson.build')
-rw-r--r--meson/suppressions/meson.build85
1 files changed, 64 insertions, 21 deletions
diff --git a/meson/suppressions/meson.build b/meson/suppressions/meson.build
index 914eab9..5185d42 100644
--- a/meson/suppressions/meson.build
+++ b/meson/suppressions/meson.build
@@ -1,14 +1,11 @@
-# Copyright 2020-2022 David Robillard <d@drobilla.net>
+# Copyright 2020-2023 David Robillard <d@drobilla.net>
# SPDX-License-Identifier: 0BSD OR ISC
-# Project-specific warning suppressions.
-#
-# This should be used in conjunction with the generic "warnings" sibling that
-# enables all reasonable warnings for the compiler. It lives here just to keep
-# the top-level meson.build more readable.
+# Project-specific warning suppressions
+
+warning_level = get_option('warning_level')
clang_common_suppressions = [
- '-Wno-cast-function-type',
'-Wno-cast-qual',
'-Wno-covered-switch-default',
'-Wno-disabled-macro-expansion',
@@ -30,7 +27,6 @@ clang_common_suppressions = [
]
gcc_common_suppressions = [
- '-Wno-cast-function-type',
'-Wno-cast-qual',
'-Wno-conversion',
'-Wno-deprecated-declarations',
@@ -40,14 +36,12 @@ gcc_common_suppressions = [
'-Wno-format',
'-Wno-implicit-fallthrough',
'-Wno-padded',
- '-Wno-pedantic',
'-Wno-shadow',
'-Wno-sign-conversion',
'-Wno-suggest-attribute=const',
'-Wno-suggest-attribute=pure',
'-Wno-switch-default',
'-Wno-switch-enum',
- '-Wno-unsuffixed-float-constants',
'-Wno-unused-macros',
]
@@ -58,9 +52,9 @@ gcc_common_suppressions = [
if is_variable('cc')
c_suppressions = []
- if get_option('strict')
- if cc.get_id() == 'clang'
- c_suppressions += clang_common_suppressions + [
+ if cc.get_id() == 'clang'
+ if warning_level == 'everything'
+ c_suppressions += [
'-Wno-bad-function-cast',
'-Wno-declaration-after-statement',
'-Wno-documentation',
@@ -71,14 +65,38 @@ if is_variable('cc')
'-Wno-c11-extensions',
]
endif
+ endif
- elif cc.get_id() == 'gcc'
- c_suppressions += gcc_common_suppressions + [
+ if warning_level in ['everything', '3']
+ c_suppressions += clang_common_suppressions + [
+ '-Wno-cast-function-type',
+ '-Wno-pedantic',
+ ]
+ endif
+
+ elif cc.get_id() == 'gcc'
+ if warning_level == 'everything'
+ c_suppressions += [
'-Wno-bad-function-cast',
'-Wno-c++-compat',
+ '-Wno-unsuffixed-float-constants',
+ ]
+ endif
+
+ if warning_level in ['everything', '3']
+ c_suppressions += gcc_common_suppressions + [
+ '-Wno-pedantic',
]
+ endif
- elif cc.get_id() == 'msvc'
+ if warning_level in ['everything', '3', '2']
+ c_suppressions += gcc_common_suppressions + [
+ '-Wno-cast-function-type',
+ ]
+ endif
+
+ elif cc.get_id() == 'msvc'
+ if warning_level == 'everything'
c_suppressions += [
'/wd4061', # enumerator in switch is not explicitly handled
'/wd4100', # unreferenced formal parameter
@@ -109,9 +127,12 @@ endif
if is_variable('cpp')
cpp_suppressions = []
- if get_option('strict')
- if cpp.get_id() == 'clang'
- cpp_suppressions += clang_common_suppressions + [
+ if cpp.get_id() == 'clang'
+ cpp_suppressions += clang_common_suppressions
+
+ if warning_level == 'everything'
+ cpp_suppressions += [
+ '-Wno-c++98-compat',
'-Wno-exit-time-destructors',
'-Wno-global-constructors',
'-Wno-missing-noreturn',
@@ -119,9 +140,19 @@ if is_variable('cpp')
'-Wno-weak-vtables',
'-Wno-zero-as-null-pointer-constant',
]
+ endif
+
+ if warning_level in ['everything', '3']
+ cpp_suppressions += [
+ '-Wno-cast-function-type',
+ ]
+ endif
- elif cpp.get_id() == 'gcc'
- cpp_suppressions += gcc_common_suppressions + [
+ elif cpp.get_id() == 'gcc'
+ cpp_suppressions += gcc_common_suppressions
+
+ if warning_level == 'everything'
+ cpp_suppressions += [
'-Wno-effc++',
'-Wno-missing-noreturn',
'-Wno-null-dereference',
@@ -131,6 +162,18 @@ if is_variable('cpp')
'-Wno-zero-as-null-pointer-constant',
]
endif
+
+ if warning_level in ['everything', '3']
+ cpp_suppressions += [
+ '-Wno-pedantic',
+ ]
+ endif
+
+ if warning_level in ['everything', '3', '2']
+ cpp_suppressions += [
+ '-Wno-cast-function-type',
+ ]
+ endif
endif
cpp_suppressions = cpp.get_supported_arguments(cpp_suppressions)