summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/include/c.h10
-rw-r--r--src/include/pg_config.h.in11
2 files changed, 18 insertions, 3 deletions
diff --git a/src/include/c.h b/src/include/c.h
index 62cbf7a2eec..55effdda0fd 100644
--- a/src/include/c.h
+++ b/src/include/c.h
@@ -228,6 +228,16 @@
#define PG_USED_FOR_ASSERTS_ONLY pg_attribute_unused()
#endif
+/*
+ * Our C and C++ compilers may have different ideas about which printf
+ * archetype best represents what src/port/snprintf.c can do.
+ */
+#ifndef __cplusplus
+#define PG_PRINTF_ATTRIBUTE PG_C_PRINTF_ATTRIBUTE
+#else
+#define PG_PRINTF_ATTRIBUTE PG_CXX_PRINTF_ATTRIBUTE
+#endif
+
/* GCC supports format attributes */
#if defined(__GNUC__)
#define pg_attribute_format_arg(a) __attribute__((format_arg(a)))
diff --git a/src/include/pg_config.h.in b/src/include/pg_config.h.in
index 72434ce957e..3a7edb1f0a0 100644
--- a/src/include/pg_config.h.in
+++ b/src/include/pg_config.h.in
@@ -596,6 +596,14 @@
/* Define to the version of this package. */
#undef PACKAGE_VERSION
+/* Define to best C++ printf format archetype, usually gnu_printf if
+ available. */
+#undef PG_CXX_PRINTF_ATTRIBUTE
+
+/* Define to best C printf format archetype, usually gnu_printf if available.
+ */
+#undef PG_C_PRINTF_ATTRIBUTE
+
/* Define to the name of a signed 128-bit integer type. */
#undef PG_INT128_TYPE
@@ -612,9 +620,6 @@
/* PostgreSQL minor version number */
#undef PG_MINORVERSION_NUM
-/* Define to best printf format archetype, usually gnu_printf if available. */
-#undef PG_PRINTF_ATTRIBUTE
-
/* PostgreSQL version as a string */
#undef PG_VERSION