chromium/chromium-79.0.3945.130-gcc10-use-c++17-to-work-around-ugly-angle-code.patch

29 lines
1.5 KiB
Diff
Raw Normal View History

2020-02-27 16:27:21 +00:00
diff -up chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme chromium-79.0.3945.130/third_party/angle/BUILD.gn
--- chromium-79.0.3945.130/third_party/angle/BUILD.gn.fixme 2020-02-05 15:50:58.810040419 -0500
+++ chromium-79.0.3945.130/third_party/angle/BUILD.gn 2020-02-05 15:52:03.720848822 -0500
@@ -228,6 +228,9 @@ config("angle_common_config") {
if (is_android) {
libs = [ "log" ]
}
+ if (!is_clang) {
+ cflags_cc = [ "-std=c++17" ]
+ }
}
if (is_win && !angle_is_winuwp) {
diff -up chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h
--- chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h.fixme 2020-02-05 15:35:47.473867905 -0500
+++ chromium-79.0.3945.130/third_party/angle/src/common/PackedEnums.h 2020-02-05 15:36:30.362065300 -0500
@@ -85,8 +85,9 @@ class PackedEnumMap
{
// 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;
+ // const_cast<T &>(const_cast<const Storage &>(
+ // mPrivateData)[static_cast<UnderlyingType>(it->first)]) = it->second;
+ mPrivateData[static_cast<UnderlyingType>(it->first)] = it->second;
}
}