summaryrefslogtreecommitdiff
path: root/win32
diff options
context:
space:
mode:
authorsisyphus <sisyphus@cpan.org>2022-07-01 14:05:04 +1000
committerTony Cook <tony@develop-help.com>2022-07-07 10:43:43 +1000
commit14e63e090b821d302d1b7a73f75378385d253289 (patch)
tree5d10b6c25960718f9fef7cd8722fb5e7361026d7 /win32
parent30a06d3ba862b55a05a8f9aba8e03e81e1823235 (diff)
downloadperl-14e63e090b821d302d1b7a73f75378385d253289.tar.gz
win32/vmem.h - memory alignment needed for gcc-12
Diffstat (limited to 'win32')
-rw-r--r--win32/vmem.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/win32/vmem.h b/win32/vmem.h
index bd765f68e2..de1a31a90b 100644
--- a/win32/vmem.h
+++ b/win32/vmem.h
@@ -69,14 +69,26 @@ inline void MEMODSlx(char *str, long x)
#ifdef _USE_LINKED_LIST
class VMem;
+
+#if defined(__MINGW64__) && __GNUC__ > 11
+typedef struct _MemoryBlockHeader* PMEMORY_BLOCK_HEADER __attribute__ ((aligned(16)));
+#else
typedef struct _MemoryBlockHeader* PMEMORY_BLOCK_HEADER;
+#endif
+
typedef struct _MemoryBlockHeader {
PMEMORY_BLOCK_HEADER pNext;
PMEMORY_BLOCK_HEADER pPrev;
VMem *owner;
+
+#if defined(__MINGW64__) && __GNUC__ > 11
+} MEMORY_BLOCK_HEADER __attribute__ ((aligned(16))), *PMEMORY_BLOCK_HEADER;
+#else
} MEMORY_BLOCK_HEADER, *PMEMORY_BLOCK_HEADER;
#endif
+#endif
+
class VMem
{
public: