When USE_VALGRIND is defined, compilation started to fail with this error message (-Werror is used; without it, a warning is observed instead):

printtup.c:353:95: error: passing argument 1 of ‘VARSIZE_ANY’ makes pointer from integer without a cast [-Wint-conversion]

Not sure if this is the best fix, but it silences the warning, and is based on other recently introduced fixes:

diff --git a/src/backend/access/common/printtup.c b/src/backend/access/common/printtup.c
index 830a3d883aa..6d3045e2332 100644
--- a/src/backend/access/common/printtup.c
+++ b/src/backend/access/common/printtup.c
@@ -350,7 +350,7 @@ printtup(TupleTableSlot *slot, DestReceiver *self)
         */
        if (thisState->typisvarlena)
            VALGRIND_CHECK_MEM_IS_DEFINED(DatumGetPointer(attr),
-                                         VARSIZE_ANY(attr));
+ VARSIZE_ANY(DatumGetPointer(attr)));

        if (thisState->format == 0)
        {

I'm attaching a patch.

Best regards,
Dmitry
From: Dmitry Mityugov <d.mityu...@postgrespro.ru>
Date: Tue, 5 Aug 2025 20:29:57 +0300
Subject: [PATCH] Use DatumGetPointer() in VALGRIND_CHECK_MEM_IS_DEFINED() call

It seems that this patch is a follow-up to 0f5ade7a that did the same
conversion in other places.
---
 src/backend/access/common/printtup.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/backend/access/common/printtup.c b/src/backend/access/common/printtup.c
index 830a3d883aa..6d3045e2332 100644
--- a/src/backend/access/common/printtup.c
+++ b/src/backend/access/common/printtup.c
@@ -350,7 +350,7 @@ printtup(TupleTableSlot *slot, DestReceiver *self)
 		 */
 		if (thisState->typisvarlena)
 			VALGRIND_CHECK_MEM_IS_DEFINED(DatumGetPointer(attr),
-										  VARSIZE_ANY(attr));
+										  VARSIZE_ANY(DatumGetPointer(attr)));
 
 		if (thisState->format == 0)
 		{
-- 
2.50.1

Reply via email to