pg.ddx.io  pgsql-hackers@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Sutou Kouhei <kou@clear-code.com>
To: peter@eisentraut.org
Cc: andres@anarazel.de
Cc: tristan@neon.tech
Cc: michael@paquier.xyz
Cc: pgsql-hackers@postgresql.org
Subject: Re: meson: Specify -Wformat as a common warning flag for extensions
Date: Wed, 29 May 2024 15:47:08 +0900 (JST)
Message-ID: <20240529.154708.173647409366729418.kou@clear-code.com> (raw)
In-Reply-To: <4707d4ed-f268-43c0-b4dd-cdbc7520f508@eisentraut.org>
References: <20240407232635.fq4kc5556lahaoej@awork3.anarazel.de>
	<20240408.100117.1165016889947781960.kou@clear-code.com>
	<4707d4ed-f268-43c0-b4dd-cdbc7520f508@eisentraut.org>

Hi,

In <4707d4ed-f268-43c0-b4dd-cdbc7520f508@eisentraut.org>
  "Re: meson: Specify -Wformat as a common warning flag for extensions" on Tue, 28 May 2024 23:31:05 -0700,
  Peter Eisentraut <peter@eisentraut.org> wrote:

> On 07.04.24 18:01, Sutou Kouhei wrote:
>> +# We don't have "warning_level == 3" and "warning_level ==
>> +# 'everything'" here because we don't use these warning levels.
>> +if warning_level == '1'
>> +  common_builtin_flags += ['-Wall']
>> +elif warning_level == '2'
>> +  common_builtin_flags += ['-Wall', '-Wextra']
>> +endif
> 
> I would trim this even further and always export just '-Wall'.  The
> other options aren't really something we support.

OK. How about the v6 patch? It always uses '-Wall'.

Thanks,
-- 
kou

Attachments:

v6-0001-meson-Restore-implicit-warning-debug-optimize-fla.patch (text/x-patch, 2.8K) download From 8238adba3f3fc96d4a9e50af611b1cb3566abc0e Mon Sep 17 00:00:00 2001 From: Sutou Kouhei <kou@clear-code.com> Date: Fri, 15 Mar 2024 18:27:30 +0900 Subject: [PATCH v6] meson: Restore implicit warning/debug/optimize flags for extensions Meson specifies warning/debug/optimize flags such as "-Wall", "-g" and "-O2" automatically based on "--warnlevel" and "--buildtype" options. And we use "--warning_level=1" and "--buildtype=debugoptimized" by default. We don't specify warning/debug/optimize flags explicitly to build PostgreSQL with Meson. Because Meson does it automatically as we said. But Meson doesn't care about flags in Makefile.global and pg_config. So we need to care about them manually. This changes do it. They detect debug/optimize flags based on debug/optimization option values because Meson doesn't tell us flags Meson guessed. We always use -Wall for warning flags. --- meson.build | 27 +++++++++++++++++++++++++++ src/include/meson.build | 4 ++-- 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/meson.build b/meson.build index d6401fb8e30..d7239dbb114 100644 --- a/meson.build +++ b/meson.build @@ -1851,6 +1851,33 @@ endif vectorize_cflags = cc.get_supported_arguments(['-ftree-vectorize']) unroll_loops_cflags = cc.get_supported_arguments(['-funroll-loops']) +# They aren't used for building PostgreSQL itself because Meson does +# everything internally. They are used by extensions via pg_config or +# Makefile.global. +common_builtin_flags = ['-Wall'] + +if get_option('debug') + common_builtin_flags += ['-g'] +endif + +optimization = get_option('optimization') +if optimization == '0' + common_builtin_flags += ['-O0'] +elif optimization == '1' + common_builtin_flags += ['-O1'] +elif optimization == '2' + common_builtin_flags += ['-O2'] +elif optimization == '3' + common_builtin_flags += ['-O3'] +elif optimization == 's' + common_builtin_flags += ['-Os'] +endif + +cflags_builtin = cc.get_supported_arguments(common_builtin_flags) +if llvm.found() + cxxflags_builtin = cpp.get_supported_arguments(common_builtin_flags) +endif + common_warning_flags = [ '-Wmissing-prototypes', '-Wpointer-arith', diff --git a/src/include/meson.build b/src/include/meson.build index a28f115d867..58b7a9c1e7e 100644 --- a/src/include/meson.build +++ b/src/include/meson.build @@ -44,9 +44,9 @@ config_paths_data.set_quoted('MANDIR', dir_prefix / dir_man) var_cc = ' '.join(cc.cmd_array()) var_cpp = ' '.join(cc.cmd_array() + ['-E']) -var_cflags = ' '.join(cflags + cflags_warn + get_option('c_args')) +var_cflags = ' '.join(cflags + cflags_builtin + cflags_warn + get_option('c_args')) if llvm.found() - var_cxxflags = ' '.join(cxxflags + cxxflags_warn + get_option('cpp_args')) + var_cxxflags = ' '.join(cxxflags + cxxflags_builtin + cxxflags_warn + get_option('cpp_args')) else var_cxxflags = '' endif -- 2.43.0

view thread (17+ messages)  latest in thread

Message-ID: <20240529.154708.173647409366729418.kou@clear-code.com>
Permalink:  ../20240529.154708.173647409366729418.kou@clear-code.com/
Also on:    postgresql.org/message-id/20240529.154708.173647409366729418.kou@clear-code.com

 ·  · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-hackers@postgresql.org
  Cc: kou@clear-code.com, peter@eisentraut.org, andres@anarazel.de, tristan@neon.tech, michael@paquier.xyz
  Subject: Re: meson: Specify -Wformat as a common warning flag for extensions
  In-Reply-To: <20240529.154708.173647409366729418.kou@clear-code.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox