[demangler] Fix a MSVC alignment warning.
authorErik Pilkington <erik.pilkington@gmail.com>
Tue, 3 Jul 2018 00:23:18 +0000 (00:23 +0000)
committerErik Pilkington <erik.pilkington@gmail.com>
Tue, 3 Jul 2018 00:23:18 +0000 (00:23 +0000)
This should fix llvm.org/PR37944

llvm-svn: 336157

libcxxabi/src/cxa_demangle.cpp
llvm/lib/Demangle/ItaniumDemangle.cpp

index d70ffdf..1cdc29b 100644 (file)
@@ -19,6 +19,7 @@
 #include <algorithm>
 #include <numeric>
 #include <cassert>
+#include <cstddef>
 #include <cstdio>
 #include <cstdlib>
 #include <cstring>
@@ -1890,7 +1891,7 @@ class BumpPointerAllocator {
   static constexpr size_t AllocSize = 4096;
   static constexpr size_t UsableAllocSize = AllocSize - sizeof(BlockMeta);
 
-  alignas(16) char InitialBuffer[AllocSize];
+  alignas(std::max_align_t) char InitialBuffer[AllocSize];
   BlockMeta* BlockList = nullptr;
 
   void grow() {
index 8dd182f..c7bba85 100644 (file)
@@ -17,6 +17,7 @@
 #include <cassert>
 #include <cctype>
 #include <cstdio>
+#include <cstddef>
 #include <cstdlib>
 #include <cstring>
 #include <numeric>
@@ -1950,7 +1951,7 @@ class BumpPointerAllocator {
   static constexpr size_t AllocSize = 4096;
   static constexpr size_t UsableAllocSize = AllocSize - sizeof(BlockMeta);
 
-  alignas(16) char InitialBuffer[AllocSize];
+  alignas(std::max_align_t) char InitialBuffer[AllocSize];
   BlockMeta* BlockList = nullptr;
 
   void grow() {