Bug 234658 - 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)).
Summary: REGRESSION(r287412)[WinCairo] error C2338: You've instantiated std::aligned_s...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: WebKit2 (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Fujii Hironori
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2021-12-23 23:17 PST by Fujii Hironori
Modified: 2021-12-23 23:48 PST (History)
7 users (show)

See Also:


Attachments
Patch (2.13 KB, patch)
2021-12-23 23:45 PST, Fujii Hironori
no flags Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Fujii Hironori 2021-12-23 23:17:22 PST
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
Comment 1 Fujii Hironori 2021-12-23 23:45:31 PST
Created attachment 447930 [details]
Patch
Comment 2 Fujii Hironori 2021-12-23 23:47:31 PST
Committed r287422 (245557@trunk): <https://commits.webkit.org/245557@trunk>
Comment 3 Radar WebKit Bug Importer 2021-12-23 23:48:17 PST
<rdar://problem/86877506>