summaryrefslogtreecommitdiff
path: root/config
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2022-09-21 10:11:23 +0900
committerMichael Paquier <michael@paquier.xyz>2022-09-21 10:11:23 +0900
commitec3c9cc202fb2749fce82483e6dc247cfe286cab (patch)
tree3de8933a2bdeb4af9950c26844efde71b0588949 /config
parent1c27d16e6e5c1f463bbe1e9ece88dda811235165 (diff)
downloadpostgresql-ec3c9cc202fb2749fce82483e6dc247cfe286cab.tar.gz
Add definition pg_attribute_aligned() for MSVC
Visual Studio 2015+ has support for a macro to control the alignement of structures as of __declspec(align(#)), and this commit adds a definition of pg_attribute_aligned() based on that. It happens that this was already used in the implementation of atomics for MSVC. Note that there is still no definition fo pg_attribute_packed(), so this does not impact itemptr.h. Author: James Coleman Discussion: https://postgr.es/m/CAAaqYe-HbtZvR3msoMtk+hYW2S0e0OapzMW8icSMYTMA+mN8Aw@mail.gmail.com
Diffstat (limited to 'config')
-rw-r--r--config/c-compiler.m42
1 files changed, 2 insertions, 0 deletions
diff --git a/config/c-compiler.m4 b/config/c-compiler.m4
index 69efc5bb10..000b075312 100644
--- a/config/c-compiler.m4
+++ b/config/c-compiler.m4
@@ -139,6 +139,8 @@ if test x"$pgac_cv__128bit_int" = xyes ; then
/* This must match the corresponding code in c.h: */
#if defined(__GNUC__) || defined(__SUNPRO_C) || defined(__IBMC__)
#define pg_attribute_aligned(a) __attribute__((aligned(a)))
+#elif defined(_MSC_VER)
+#define pg_attribute_aligned(a) __declspec(align(a))
#endif
typedef __int128 int128a
#if defined(pg_attribute_aligned)