In 32 bit builds the __cxa_exception class has an alignment requirement greater than the maximal alignment supported by malloc. If this is the case we need to manually align the pointers returned from malloc in ordered to prevent undefined behavior. This patch does exactly that.
See PR24604 for more information - https://llvm.org/bugs/show_bug.cgi?id=24604
#warning until that's done?