REGRESSION(r287412)[WinCairo] error C2338: You've instantiated std::aligned_storage<Len, Align> with an extended alignment (in other words, Align > alignof(max_align_t)). After r287412, WinCairo Debug can't compile FAILED: Source/WebKit/CMakeFiles/WebKit.dir/__/__/WebKit/DerivedSources/unified-sources/UnifiedSource-88d1702b-21.cpp.obj C:\MSVS\VC\Tools\MSVC\14.28.29910\bin\Hostx64\x64\cl.exe (...) WebKit\DerivedSources\unified-sources\UnifiedSource-88d1702b-21.cpp C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1066): 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-conforming behavior. C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1086): note: see reference to class template instantiation 'std::_Aligned<32,16,std::_Aligned<32,16,std::_Aligned<32,16,std::_Aligned<32,16,std::aligned_storage<32,16>::_Next,false>::_Next,false>::_Next,false>::_Next,false>' being compiled C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1093): note: see reference to class template instantiation 'std::_Aligned<32,16,std::_Aligned<32,16,std::_Aligned<32,16,std::aligned_storage<32,16>::_Next,false>::_Next,false>::_Next,false>' being compiled C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1100): note: see reference to class template instantiation 'std::_Aligned<32,16,std::_Aligned<32,16,std::aligned_storage<32,16>::_Next,false>::_Next,false>' being compiled C:\MSVS\VC\Tools\MSVC\14.28.29910\include\type_traits(1107): note: see reference to class template instantiation 'std::_Aligned<32,16,std::aligned_storage<32,16>::_Next,false>' being compiled https://build.webkit.org/#/builders/38/builds/10271
Created attachment 447930 [details] Patch
Committed r287422 (245557@trunk): <https://commits.webkit.org/245557@trunk>
<rdar://problem/86877506>