Enable _ENABLE_EXTENDED_ALIGNED_STORAGE to use an extende alignment (#881)
Summary: We built folly with upcoming Visual Studio 15.8, which failed with the following message: error C2338: You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align > alignof(max_align_t)). Before VS 2017 15.8, the member type would non-conformingly have an alignment of only alignof(max_align_t). VS 2017 15.8 was fixed to handle this correctly, but the fix inherently changes layout and breaks binary compatibility (only for uses of aligned_storage with extended alignments). Please define either (1) _ENABLE_EXTENDED_ALIGNED_STORAGE to acknowledge that you understand this message and that you actually want a type with an extended alignment, or (2) _DISABLE_EXTENDED_ALIGNED_STORAGE to silence this message and get the old non-conformant behavior. This enables the `_ENABLE_EXTENDED_ALIGNED_STORAGE`. Closes https://github.com/facebook/folly/pull/881 Reviewed By: Orvid Differential Revision: D8689152 Pulled By: yfeldblum fbshipit-source-id: fada301a163b0b09adc76807dc0e7bd26d9740a9
Showing
Please register or sign in to comment