diff options
-rw-r--r-- | meson.build | 1 | ||||
-rw-r--r-- | meson/suppressions/meson.build | 13 | ||||
-rw-r--r-- | meson/warnings/meson.build | 20 | ||||
-rw-r--r-- | test/headers/meson.build | 7 |
4 files changed, 18 insertions, 23 deletions
diff --git a/meson.build b/meson.build index 8f3c2876..8c3db730 100644 --- a/meson.build +++ b/meson.build @@ -8,6 +8,7 @@ project('serd', ['c'], default_options: [ 'b_ndebug=if-release', 'buildtype=release', + 'warning_level=3', 'c_std=c99', ]) diff --git a/meson/suppressions/meson.build b/meson/suppressions/meson.build index f722ebe0..098f7ab5 100644 --- a/meson/suppressions/meson.build +++ b/meson/suppressions/meson.build @@ -60,16 +60,25 @@ if is_variable('cc') '/wd4061', # enumerator in switch is not explicitly handled '/wd4365', # signed/unsigned mismatch '/wd4514', # unreferenced inline function has been removed - '/wd4706', # assignment within conditional expression '/wd4710', # function not inlined '/wd4711', # function selected for automatic inline expansion '/wd4800', # implicit conversion from int to bool '/wd4820', # padding added after construct - '/wd4996', # POSIX name for this item is deprecated '/wd5045', # will insert Spectre mitigation for memory load ] endif endif + if cc.get_id() == 'clang' + c_suppressions += [ + '-Wno-nullability-extension', + ] + elif cc.get_id() == 'msvc' + c_suppressions += [ + '/wd4706', # assignment within conditional expression + '/wd4996', # POSIX name for this item is deprecated + ] + endif + c_suppressions = cc.get_supported_arguments(c_suppressions) endif diff --git a/meson/warnings/meson.build b/meson/warnings/meson.build index 80d57749..c0e523b9 100644 --- a/meson/warnings/meson.build +++ b/meson/warnings/meson.build @@ -61,40 +61,30 @@ gcc_common_warnings = [ '-Wattribute-alias=2', '-Wbidi-chars=ucn', '-Wcast-align=strict', - '-Wcast-function-type', '-Wcast-qual', - '-Wclobbered', '-Wconversion', '-Wdate-time', '-Wdisabled-optimization', '-Wdouble-promotion', '-Wduplicated-branches', '-Wduplicated-cond', - '-Wempty-body', - '-Wendif-labels', '-Wfloat-equal', '-Wformat-overflow=2', '-Wformat-signedness', '-Wformat-truncation=2', '-Wformat=2', - '-Wignored-qualifiers', - '-Wimplicit-fallthrough=3', '-Winit-self', '-Winline', '-Winvalid-pch', '-Wlogical-op', '-Wmissing-declarations', - '-Wmissing-field-initializers', '-Wmissing-include-dirs', '-Wmultichar', '-Wnormalized=nfc', '-Wnull-dereference', '-Wopenacc-parallelism', - '-Woverlength-strings', '-Wpacked', - '-Wpacked-bitfield-compat', '-Wpadded', - '-Wpointer-arith', '-Wredundant-decls', '-Wshadow', '-Wshift-negative-value', @@ -102,7 +92,6 @@ gcc_common_warnings = [ '-Wstack-protector', '-Wstrict-aliasing=3', '-Wstrict-overflow=5', - '-Wstring-compare', '-Wstringop-overflow=3', '-Wsuggest-attribute=cold', '-Wsuggest-attribute=const', @@ -114,11 +103,9 @@ gcc_common_warnings = [ '-Wswitch-enum', '-Wtrampolines', '-Wtrivial-auto-var-init', - '-Wtype-limits', '-Wundef', '-Wuninitialized', '-Wunsafe-loop-optimizations', - '-Wunused', '-Wunused-const-variable=2', '-Wunused-macros', '-Wvector-operation-performance', @@ -145,18 +132,11 @@ if is_variable('cc') elif cc.get_id() == 'gcc' all_c_warnings += gcc_common_warnings + [ - '-Wabsolute-value', '-Wbad-function-cast', '-Wc++-compat', - '-Wenum-conversion', - '-Wjump-misses-init', - '-Wmissing-parameter-type', '-Wmissing-prototypes', '-Wnested-externs', - '-Wold-style-declaration', '-Wold-style-definition', - '-Woverride-init', - '-Wsign-compare', '-Wstrict-prototypes', '-Wunsuffixed-float-constants', ] diff --git a/test/headers/meson.build b/test/headers/meson.build index af270073..0c4e97ea 100644 --- a/test/headers/meson.build +++ b/test/headers/meson.build @@ -6,7 +6,6 @@ header_c_suppressions = [] if get_option('strict') if cc.get_id() == 'clang' header_c_suppressions += [ - '-Wno-nullability-extension', '-Wno-padded', ] elif cc.get_id() == 'gcc' @@ -21,6 +20,12 @@ if get_option('strict') endif endif +if cc.get_id() == 'clang' + header_c_suppressions += [ + '-Wno-nullability-extension', + ] +endif + test( 'headers', executable( |