mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
meson: re-enable -Wmaybe-uninitialized on -O[02] with recent gcc versions
The warning was disabled in8794164fed
to avoid false positives. But it is useful in finding errors, even if it sometimes results in untrue warnings (c.f.77fac974fe
,da46a1bc3c
). After #19168, #19169, and #19175, there are no warnings with -Dbuildtype=debug-optimized/-O2 and gcc-11.0.1-0.3.fc34.x86_64. Warnings are reenabled for -O[23] -O0 is good for development, and -O2 is the default optimization level for Fedora package builds. -Os, -O3, -O1, and -Og still generate some warnings. In fact, with -Os the number of warnings seems completely hopeless. Dozens and dozens.
This commit is contained in:
parent
98d81cf974
commit
68c98a411d
13
meson.build
13
meson.build
@ -395,10 +395,6 @@ possible_cc_flags = [
|
||||
'-Wno-error=#warnings', # clang
|
||||
'-Wno-string-plus-int', # clang
|
||||
|
||||
# Disable -Wmaybe-uninitialized, since it's noisy on gcc 8 with
|
||||
# optimizations enabled, producing essentially false positives.
|
||||
'-Wno-maybe-uninitialized',
|
||||
|
||||
'-ffast-math',
|
||||
'-fno-common',
|
||||
'-fdiagnostics-show-option',
|
||||
@ -409,6 +405,15 @@ possible_cc_flags = [
|
||||
'--param=ssp-buffer-size=4',
|
||||
]
|
||||
|
||||
# Disable -Wmaybe-unitialized when compiling with -Os/-O1/-O3/etc. There are
|
||||
# too many false positives with gcc >= 8. Effectively, we only test with -O0
|
||||
# and -O2; this should be enough to catch most important cases without too much
|
||||
# busywork. See https://github.com/systemd/systemd/pull/19226.
|
||||
if cc.get_id() == 'gcc' and (not '02'.contains(get_option('optimization')) or
|
||||
cc.version().version_compare('<10'))
|
||||
possible_cc_flags += '-Wno-maybe-uninitialized'
|
||||
endif
|
||||
|
||||
# --as-needed and --no-undefined are provided by meson by default,
|
||||
# run mesonconf to see what is enabled
|
||||
possible_link_flags = [
|
||||
|
Loading…
Reference in New Issue
Block a user