From 5d8aa347afddd8fb2ff09390134c882efc97b718 Mon Sep 17 00:00:00 2001
From: Bertrand Drouvot <bertranddrouvot.pg@gmail.com>
Date: Wed, 29 Oct 2025 10:57:17 +0000
Subject: [PATCH v2 2/4] Deprecate XLogRecPtrIsInvalid()

Emit a warning message at compilation time if XLogRecPtrIsInvalid() is in use in
the code base.
---
 src/include/access/xlogdefs.h | 20 +++++++++++++++++++-
 1 file changed, 19 insertions(+), 1 deletion(-)
 100.0% src/include/access/

diff --git a/src/include/access/xlogdefs.h b/src/include/access/xlogdefs.h
index 33b9913e71e..6eebf86342e 100644
--- a/src/include/access/xlogdefs.h
+++ b/src/include/access/xlogdefs.h
@@ -26,9 +26,27 @@ typedef uint64 XLogRecPtr;
  * record can begin at zero.
  */
 #define InvalidXLogRecPtr	0
-#define XLogRecPtrIsInvalid(r)	((r) == InvalidXLogRecPtr)
 #define XLogRecPtrIsValid(r) ((r) != InvalidXLogRecPtr)
 
+/*
+ * XLogRecPtrIsInvalid
+ *
+ * Deprecated: Use XLogRecPtrIsValid() instead.
+ */
+#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L || defined(__cplusplus) && __cplusplus >= 201402L
+[[deprecated("use XLogRecPtrIsValid() instead")]]
+#elif defined(__GNUC__) || defined(__clang__)
+__attribute__((deprecated("use XLogRecPtrIsValid() instead")))
+#elif defined(_MSC_VER)
+__declspec(deprecated("use XLogRecPtrIsValid() instead"))
+#endif
+
+static inline bool
+XLogRecPtrIsInvalid(XLogRecPtr ptr)
+{
+	return ptr == InvalidXLogRecPtr;
+}
+
 /*
  * First LSN to use for "fake" LSNs.
  *
-- 
2.34.1

