diff options
author | David Robillard <d@drobilla.net> | 2020-07-15 21:05:16 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-07-16 11:13:59 +0200 |
commit | 0bd60f130f549dd0c0549aa2ec6ffa44cdc6fd22 (patch) | |
tree | b45e9cf3ffe763b838baca572b6c3cee7cdc75ae /wscript | |
parent | 5a0ddd58f7f7098a088afee22d479eec2d8cc958 (diff) | |
download | lv2-0bd60f130f549dd0c0549aa2ec6ffa44cdc6fd22.tar.xz |
Be explicit about warnings
Diffstat (limited to 'wscript')
-rw-r--r-- | wscript | 75 |
1 files changed, 73 insertions, 2 deletions
@@ -77,8 +77,79 @@ def configure(conf): conf.load('autowaf', cache=True) autowaf.set_c_lang(conf, 'c99') - if Options.options.ultra_strict and not conf.env.MSVC_COMPILER: - conf.env.append_value('CFLAGS', ['-Wconversion']) + if Options.options.ultra_strict: + autowaf.add_compiler_flags(conf.env, 'c', { + 'gcc': [ + '-Wno-bad-function-cast', + ], + 'clang': [ + '-Wno-bad-function-cast', + ] + }) + + autowaf.add_compiler_flags(conf.env, '*', { + 'clang': [ + '-Wno-cast-align', + '-Wno-cast-qual', + '-Wno-documentation-unknown-command', + '-Wno-double-promotion', + '-Wno-float-conversion', + '-Wno-float-equal', + '-Wno-implicit-float-conversion', + '-Wno-implicit-int-float-conversion', + '-Wno-padded', + '-Wno-reserved-id-macro', + '-Wno-shorten-64-to-32', + '-Wno-sign-conversion', + '-Wno-switch-enum', + '-Wno-unused-parameter', + ], + 'gcc': [ + '-Wno-cast-align', + '-Wno-cast-qual', + '-Wno-conversion', + '-Wno-double-promotion', + '-Wno-float-equal', + '-Wno-padded', + '-Wno-parentheses', + '-Wno-suggest-attribute=const', + '-Wno-switch-enum', + '-Wno-unused-parameter', + ], + 'msvc': [ + '/wd4061', # enumerator in switch is not explicitly handled + '/wd4100', # unreferenced formal parameter + '/wd4244', # conversion with possible loss of data + '/wd4267', # conversion from size_t to a smaller type + '/wd4310', # cast truncates constant value + '/wd4365', # signed/unsigned mismatch + '/wd4464', # relative include path contains ".." + '/wd4514', # unreferenced inline function has been removed + '/wd4706', # assignment within conditional expression + '/wd4710', # function not inlined + '/wd4820', # padding added after construct + '/wd5045', # will insert Spectre mitigation for memory load + ] + }) + + autowaf.add_compiler_flags(conf.env, 'cxx', { + 'gcc': [ + '-Wno-useless-cast', + '-Wno-zero-as-null-pointer-constant', + ], + 'clang': [ + '-Wno-old-style-cast', + '-Wno-zero-as-null-pointer-constant', + ] + }) + + if 'mingw' in conf.env.CC[0]: + autowaf.add_compiler_flags(conf.env, '*', { + 'gcc': [ + '-Wno-format', + '-Wno-suggest-attribute=format', + ], + }) if conf.env.DEST_OS == 'win32' or not hasattr(os.path, 'relpath'): Logs.warn('System does not support linking headers, copying') |