• Larry-Hu's avatar
    Enable _ENABLE_EXTENDED_ALIGNED_STORAGE to use an extende alignment (#881) · 3dd3467e
    Larry-Hu authored
    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
    3dd3467e
FollyCompilerMSVC.cmake 19.5 KB