Title: [287422] trunk
Revision
287422
Author
hironori.fu...@sony.com
Date
2021-12-23 23:47:13 -0800 (Thu, 23 Dec 2021)

Log Message

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)).
https://bugs.webkit.org/show_bug.cgi?id=234658

Unreviewed build fix.

After r287412, WinCairo Debug can't compile due to the following error.

> 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.

* Source/cmake/OptionsMSVC.cmake: Added _ENABLE_EXTENDED_ALIGNED_STORAGE macro.

Modified Paths

Diff

Modified: trunk/ChangeLog (287421 => 287422)


--- trunk/ChangeLog	2021-12-24 05:58:47 UTC (rev 287421)
+++ trunk/ChangeLog	2021-12-24 07:47:13 UTC (rev 287422)
@@ -1,3 +1,22 @@
+2021-12-23  Fujii Hironori  <hironori.fu...@sony.com>
+
+        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)).
+        https://bugs.webkit.org/show_bug.cgi?id=234658
+
+        Unreviewed build fix.
+
+        After r287412, WinCairo Debug can't compile due to the following error.
+
+        > 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.
+
+        * Source/cmake/OptionsMSVC.cmake: Added _ENABLE_EXTENDED_ALIGNED_STORAGE macro.
+
 2021-12-23  ChangSeok Oh  <changs...@webkit.org>
 
         Add changseok's github username.

Modified: trunk/Source/cmake/OptionsMSVC.cmake (287421 => 287422)


--- trunk/Source/cmake/OptionsMSVC.cmake	2021-12-24 05:58:47 UTC (rev 287421)
+++ trunk/Source/cmake/OptionsMSVC.cmake	2021-12-24 07:47:13 UTC (rev 287422)
@@ -124,6 +124,8 @@
     add_definitions(-D_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES=1)
 endif ()
 
+add_compile_options(-D_ENABLE_EXTENDED_ALIGNED_STORAGE)
+
 # Specify the source code encoding
 add_compile_options(/utf-8 /validate-charset)
 
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to