Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v17if-004o6x-JO for pgsql-hackers@arkaria.postgresql.org; Tue, 23 Sep 2025 18:26:29 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1v17ie-007J8y-0N for pgsql-hackers@arkaria.postgresql.org; Tue, 23 Sep 2025 18:26:28 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1v17id-007J8q-6t for pgsql-hackers@lists.postgresql.org; Tue, 23 Sep 2025 18:26:27 +0000 Received: from fhigh-a2-smtp.messagingengine.com ([103.168.172.153]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1v17iY-002U0S-2g for pgsql-hackers@lists.postgresql.org; Tue, 23 Sep 2025 18:26:26 +0000 Received: from phl-compute-01.internal (phl-compute-01.internal [10.202.2.41]) by mailfhigh.phl.internal (Postfix) with ESMTP id 82FEA1400129; Tue, 23 Sep 2025 14:26:21 -0400 (EDT) Received: from phl-mailfrontend-01 ([10.202.2.162]) by phl-compute-01.internal (MEProxy); Tue, 23 Sep 2025 14:26:21 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=burd.me; h=cc:cc :content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm2; t=1758651981; x=1758738381; bh=20yro3j1Y+ uEYCLtdtJ9ufLrXUVqWxOkrR6jvUMHEAc=; b=3EArsk31iIB6Ky240JQHy4/EJL MEz0UAPEOAwuoxZmeYxpQlOjfsZNJQizlv4zDywv357BauAmYfG05PtaD5Ah4ycN +F7unuTiFm259dO5HDKAVdLlyY8ClCP8zQ01ZSmC3XT28is8j/e4t/YweSaiRB3f gn23DexRuxxhy1todaBsz5m5TZSQ282KCFQoR8X6BKtVvOv2rtIYSa+ec2KJIOlF eZCoZmtluA0qWnjbUkUHmjrBHCdvV0nsIuJO1uehYaarX3xIispVoFdgBQber4hL QSwyDIPAH3huwYBfLwYHCPjhRUb/rTrZWNCPh6QKJxHt/ERIznKt5rapC9fw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t= 1758651981; x=1758738381; bh=20yro3j1Y+uEYCLtdtJ9ufLrXUVqWxOkrR6 jvUMHEAc=; b=DPrIiRZXZzrd2JGNhoXmGhR4qxfAWrUdeFIud5qCrLIw8qR4H3h qNIy8p37TgxIKoZoznH6tt0GEUOSSxGht8G9BmHPdCFxXljOh453zXfU6kPvS0EY mPJDWnKxvwuOEuog1gejM8hpUv5UsORhNII3w/y3jXjw4xnC5GcIbRhTapiAiB/N 9s8m7DuPfEcwAu5vhT5qyzfGJYxyYzdaSmsNFOQTOW8D522E8oj06Y84LsxOIZAf MQoUQ3iCUDBWfWS6ZbTZpZqwEIZG+GBiv7VvrRLEDZnoxuYbIo2B/ikSq6QpjxxL esuK6iUGwAbNXJ6Sj1q6ycYcxg5F898+lbw== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdeiudeghecutefuodetggdotefrod ftvfcurfhrohhfihhlvgemucfhrghsthforghilhdpuffrtefokffrpgfnqfghnecuuegr ihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenucfjug hrpeffhffvvefkjghfuffogggtsehmtdhmreertdejnecuhfhrohhmpefirhgvghcuuehu rhguuceoghhrvghgsegsuhhrugdrmhgvqeenucggtffrrghtthgvrhhnpeefvdfhudelud evveegheeuhfdtuedvueeiveegieejkefggfevhfekkefhtdekheenucevlhhushhtvghr ufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehgrhgvghessghurhgurdhmvg dpnhgspghrtghpthhtohepfedpmhhouggvpehsmhhtphhouhhtpdhrtghpthhtohepthhg lhesshhsshdrphhghhdrphgrrdhushdprhgtphhtthhopehmihgthhgrvghlsehprghquh hivghrrdighiiipdhrtghpthhtohepphhgshhqlhdqhhgrtghkvghrsheslhhishhtshdr phhoshhtghhrvghsqhhlrdhorhhg X-ME-Proxy: Feedback-ID: i675e48f3:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA; Tue, 23 Sep 2025 14:26:20 -0400 (EDT) Date: Tue, 23 Sep 2025 14:26:19 -0400 From: Greg Burd To: Tom Lane Cc: Michael Paquier , PostgreSQL Hackers Message-ID: In-Reply-To: <3097370.1758646009@sss.pgh.pa.us> References: <3097370.1758646009@sss.pgh.pa.us> Subject: Re: [PATCH] Add tests for Bitmapset X-Mailer: Mailspring MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="68d2e64b_6b8b4567_89a" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --68d2e64b_6b8b4567_89a Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Content-Disposition: inline On Sep 23 2025, at 12:46 pm, Tom Lane wrote: > Michael Paquier writes: >> On Tue, Sep 23, 2025 at 01:43:47AM -0400, Tom Lane wrote: >>> This patch seems to be rather full of arbitrary casts to or >>> from Datum, which is no longer okay. You need to be using >>> the appropriate conversion macros, such as PointerGetDatum. Tom, thanks for pointing out the oversight. Apologies, I should have tried that out in my local tests. >> Right, this can ve reproduced with a -m32 added to gcc. > > Curiously, I don't see these warnings on 32-bit FreeBSD > (with clang version 19.1.7). But I tested your patch on > mamba's host and confirmed that it makes that gcc happy. > >> I don't see a need for a Datum manipulation in these conversion >> macros, as we already allocate the results to and from "text" >> before/after using the GETARG or RETURN macros. Using directly >> text_to_cstring() and cstring_to_text() takes care of the warnings, as >> well. > > Yeah, this is better, but I think the new macros could use a bit > more parenthesis-twiddling: > > +#define BITMAPSET_TO_TEXT(bms) cstring_to_text(nodeToString((bms))) Agreed, that was my mistake. > The extra parens around "bms" are surely unnecessary. (If they were > necessary, it could only be because nodeToString was a macro that > failed to parenthesize its argument where needed. But that would > be a bug to fix in nodeToString, not here.) > > +#define TEXT_TO_BITMAPSET(str) (Bitmapset *) stringToNode(text_to_cstring(str)) > > Here, on the other hand, I think an extra outer set of parens > would be a good idea, ie > > +#define TEXT_TO_BITMAPSET(str) ((Bitmapset *) stringToNode(text_to_cstring(str))) Sounds reasonable to me. > It may be that the C cast binds tightly enough that this cannot > be a problem, but I don't think assuming that is project style. > > regards, tom lane patch attached, best. -greg --68d2e64b_6b8b4567_89a Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="v1-0001-Avoid-triggering-warnings-in-Bitmapset-tests-rela.patch" RnJvbSBjYTMwMzFiZjFiMDQxODM5YmY2MjllYTQ0ZjU4MzcxNzk2ZTllYmQ1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBHcmVnIEJ1cmQgPGdyZWdAYnVyZC5tZT4KRGF0ZTogVHVlLCAy MyBTZXAgMjAyNSAxNDoxMToxMCAtMDQwMApTdWJqZWN0OiBbUEFUQ0ggdjFdIEF2b2lkIHRyaWdn ZXJpbmcgd2FybmluZ3MgaW4gQml0bWFwc2V0IHRlc3RzIHJlbGF0ZWQgdG8KIERhdHVtIGNhc3Rz CgpUaGUgQml0bWFwc2V0IHRlc3RzIGVuY29kZS9kZWNvZGUgYml0bWFwcyB0by9mcm9tIHRleHQg dXNpbmcgdGhlIGF2YWlsYWJsZQpub2RlVG8vRnJvbVN0cmluZygpIGZ1bmN0aW9ucyBmb3Igc2lt cGxpY2l0eS4gIFRoZXkgZG9uJ3QgbmVlZCBmb3IgYSBEYXR1bQptYW5pcHVsYXRpb24gaW4gdGhl aXIgY29udmVyc2lvbiBtYWNyb3MsIGFzIHdlIGFscmVhZHkgYWxsb2NhdGUgdGhlIHJlc3VsdHMg dG8KYW5kIGZyb20gInRleHQiIGJlZm9yZS9hZnRlciB1c2luZyB0aGUgR0VUQVJHIG9yIFJFVFVS TiBtYWNyb3MuIFVzaW5nIGRpcmVjdGx5CnRleHRfdG9fY3N0cmluZygpIGFuZCBjc3RyaW5nX3Rv X3RleHQoKSB0YWtlcyBjYXJlIG9mIHRoZXNlIHdhcm5pbmdzLgotLS0KIHNyYy90ZXN0L21vZHVs ZXMvdGVzdF9iaXRtYXBzZXQvdGVzdF9iaXRtYXBzZXQuYyB8IDQgKystLQogMSBmaWxlIGNoYW5n ZWQsIDIgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvdGVz dC9tb2R1bGVzL3Rlc3RfYml0bWFwc2V0L3Rlc3RfYml0bWFwc2V0LmMgYi9zcmMvdGVzdC9tb2R1 bGVzL3Rlc3RfYml0bWFwc2V0L3Rlc3RfYml0bWFwc2V0LmMKaW5kZXggNjFmMjU2ZjY1YTQuLjVi YzRkYWEyM2YxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9tb2R1bGVzL3Rlc3RfYml0bWFwc2V0L3Rl c3RfYml0bWFwc2V0LmMKKysrIGIvc3JjL3Rlc3QvbW9kdWxlcy90ZXN0X2JpdG1hcHNldC90ZXN0 X2JpdG1hcHNldC5jCkBAIC04NCw4ICs4NCw4IEBAIFBHX0ZVTkNUSU9OX0lORk9fVjEodGVzdF9y YW5kb21fb3BlcmF0aW9ucyk7CiAJfSB3aGlsZSAoMCkKIAogLyogRW5jb2RlL0RlY29kZSB0by9m cm9tIFRFWFQgYW5kIEJpdG1hcHNldCAqLwotI2RlZmluZSBCSVRNQVBTRVRfVE9fVEVYVChibXMp ICh0ZXh0ICopIENTdHJpbmdHZXRUZXh0RGF0dW0obm9kZVRvU3RyaW5nKChibXMpKSkKLSNkZWZp bmUgVEVYVF9UT19CSVRNQVBTRVQoc3RyKSAoQml0bWFwc2V0ICopIHN0cmluZ1RvTm9kZShUZXh0 RGF0dW1HZXRDU3RyaW5nKChEYXR1bSkgKHN0cikpKQorI2RlZmluZSBCSVRNQVBTRVRfVE9fVEVY VChibXMpIGNzdHJpbmdfdG9fdGV4dChub2RlVG9TdHJpbmcoYm1zKSkKKyNkZWZpbmUgVEVYVF9U T19CSVRNQVBTRVQoc3RyKSAoKEJpdG1hcHNldCAqKSBzdHJpbmdUb05vZGUodGV4dF90b19jc3Ry aW5nKHN0cikpKQogCiAvKgogICogSW5kaXZpZHVhbCB0ZXN0IGZ1bmN0aW9ucyBmb3IgZWFjaCBi aXRtYXBzZXQgQVBJIGZ1bmN0aW9uCi0tIAoyLjUwLjEgKEFwcGxlIEdpdC0xNTUpCgo= --68d2e64b_6b8b4567_89a--