Re: meson: Specify -Wformat as a common warning flag for extensions
Andres Freund <andres@anarazel.de>
From: Andres Freund <andres@anarazel.de>
To: Sutou Kouhei <kou@clear-code.com>
Cc: peter@eisentraut.org, tristan@neon.tech, michael@paquier.xyz, pgsql-hackers@postgresql.org
Date: 2024-04-07T23:26:35Z
Lists: pgsql-hackers
Hi,
On 2024-03-15 18:36:55 +0900, Sutou Kouhei wrote:
> +warning_level = get_option('warning_level')
> +# See https://mesonbuild.com/Builtin-options.html#details-for-warning_level for
> +# warning_level values.
> +if warning_level == '1'
> + common_builtin_flags += ['-Wall', '/W2']
> +elif warning_level == '2'
> + common_builtin_flags += ['-Wall', '-Wextra', '/W3']
> +elif warning_level == '3'
> + common_builtin_flags += ['-Wall', '-Wextra', '-Wpedantic', '/W4']
> +elif warning_level == 'everything'
> + common_builtin_flags += ['-Weverything', '/Wall']
> +endif
> +cflags_builtin = cc.get_supported_arguments(common_builtin_flags)
> +if llvm.found()
> + cxxflags_builtin = cpp.get_supported_arguments(common_builtin_flags)
> +endif
This seems like a fair amount of extra configure tests. Particularly because
/W* isn't ever interesting for Makefile.global - they're msvc flags - because
you can't use that with msvc.
I'm also doubtful that it's worth supporting warning_level=3/everything, you
end up with a completely flood of warnings that way.
Greetings,
Andres Freund
Commits
-
meson: Restore implicit warning/debug/optimize flags for extensions
- 3482bab5e30a 17.0 landed