Title: [256491] trunk/Source/ThirdParty/ANGLE
Revision
256491
Author
[email protected]
Date
2020-02-12 16:31:41 -0800 (Wed, 12 Feb 2020)

Log Message

Multiple GCC 10 build failures in ANGLE
https://bugs.webkit.org/show_bug.cgi?id=207365

Patch by Michael Catanzaro <[email protected]> on 2020-02-12
Reviewed by Carlos Alberto Lopez Perez.

* changes.diff: Updated.
* include/platform/Platform.h: Add missing #include to get size_t.
* src/common/PackedEnums.h: Remove problematic const_casts.

Modified Paths

Diff

Modified: trunk/Source/ThirdParty/ANGLE/ChangeLog (256490 => 256491)


--- trunk/Source/ThirdParty/ANGLE/ChangeLog	2020-02-13 00:24:44 UTC (rev 256490)
+++ trunk/Source/ThirdParty/ANGLE/ChangeLog	2020-02-13 00:31:41 UTC (rev 256491)
@@ -1,3 +1,14 @@
+2020-02-12  Michael Catanzaro  <[email protected]>
+
+        Multiple GCC 10 build failures in ANGLE
+        https://bugs.webkit.org/show_bug.cgi?id=207365
+
+        Reviewed by Carlos Alberto Lopez Perez.
+
+        * changes.diff: Updated.
+        * include/platform/Platform.h: Add missing #include to get size_t.
+        * src/common/PackedEnums.h: Remove problematic const_casts.
+
 2020-02-12  Dean Jackson  <[email protected]>
 
         ANGLE has unused bison and glmark2 code

Modified: trunk/Source/ThirdParty/ANGLE/changes.diff (256490 => 256491)


--- trunk/Source/ThirdParty/ANGLE/changes.diff	2020-02-13 00:24:44 UTC (rev 256490)
+++ trunk/Source/ThirdParty/ANGLE/changes.diff	2020-02-13 00:31:41 UTC (rev 256491)
@@ -9908,3 +9908,31 @@
 @@ -1 +0,0 @@
 -212a9ef90e21a98ff57ca301a60c84cbeca7be28
 \ No newline at end of file
+diff --git a/include/platform/Platform.h b/include/platform/Platform.h
+index b603ff9bad2..f4ec4f8837c 100644
+--- a/include/platform/Platform.h
++++ b/include/platform/Platform.h
+@@ -9,6 +9,7 @@
+ #ifndef ANGLE_PLATFORM_H
+ #define ANGLE_PLATFORM_H
+ 
++#include <stdlib.h>
+ #include <stdint.h>
+ #include <array>
+ 
+diff --git a/src/common/PackedEnums.h b/src/common/PackedEnums.h
+index bd5fc340dcc..63368e25dfe 100644
+--- a/src/common/PackedEnums.h
++++ b/src/common/PackedEnums.h
+@@ -83,10 +83,7 @@ class PackedEnumMap
+         // We use a for loop instead of range-for to work around a limitation in MSVC.
+         for (const InitPair *it = init.begin(); it != init.end(); ++it)
+         {
+-            // This horrible const_cast pattern is necessary to work around a constexpr limitation.
+-            // See https://stackoverflow.com/q/34199774/ . Note that it should be fixed with C++17.
+-            const_cast<T &>(const_cast<const Storage &>(
+-                mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
++            mPrivateData[static_cast<UnderlyingType>(it->first)] = it->second;
+         }
+     }
+ 

Modified: trunk/Source/ThirdParty/ANGLE/include/platform/Platform.h (256490 => 256491)


--- trunk/Source/ThirdParty/ANGLE/include/platform/Platform.h	2020-02-13 00:24:44 UTC (rev 256490)
+++ trunk/Source/ThirdParty/ANGLE/include/platform/Platform.h	2020-02-13 00:31:41 UTC (rev 256491)
@@ -9,6 +9,7 @@
 #ifndef ANGLE_PLATFORM_H
 #define ANGLE_PLATFORM_H
 
+#include <stdlib.h>
 #include <stdint.h>
 #include <array>
 

Modified: trunk/Source/ThirdParty/ANGLE/src/common/PackedEnums.h (256490 => 256491)


--- trunk/Source/ThirdParty/ANGLE/src/common/PackedEnums.h	2020-02-13 00:24:44 UTC (rev 256490)
+++ trunk/Source/ThirdParty/ANGLE/src/common/PackedEnums.h	2020-02-13 00:31:41 UTC (rev 256491)
@@ -83,10 +83,7 @@
         // We use a for loop instead of range-for to work around a limitation in MSVC.
         for (const InitPair *it = init.begin(); it != init.end(); ++it)
         {
-            // This horrible const_cast pattern is necessary to work around a constexpr limitation.
-            // See https://stackoverflow.com/q/34199774/ . Note that it should be fixed with C++17.
-            const_cast<T &>(const_cast<const Storage &>(
-                mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
+            mPrivateData[static_cast<UnderlyingType>(it->first)] = it->second;
         }
     }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to