diff options
author | sisyphus <sisyphus@cpan.org> | 2022-07-01 14:05:04 +1000 |
---|---|---|
committer | Tony Cook <tony@develop-help.com> | 2022-07-07 10:43:43 +1000 |
commit | 14e63e090b821d302d1b7a73f75378385d253289 (patch) | |
tree | 5d10b6c25960718f9fef7cd8722fb5e7361026d7 /win32 | |
parent | 30a06d3ba862b55a05a8f9aba8e03e81e1823235 (diff) | |
download | perl-14e63e090b821d302d1b7a73f75378385d253289.tar.gz |
win32/vmem.h - memory alignment needed for gcc-12
Diffstat (limited to 'win32')
-rw-r--r-- | win32/vmem.h | 12 |
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: |