mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Windows: Build the pe_image target as C++17 (see issue #2819)
This works around a bug in the Visual C++ standard library where the std::is_integral templates are exported instead of inlined when building with C++14. See also https://bugs.llvm.org/show_bug.cgi?id=42027.
This commit is contained in:
28
patch/patches/win_cpp17_msvc_sandbox_2819.patch
Normal file
28
patch/patches/win_cpp17_msvc_sandbox_2819.patch
Normal file
@ -0,0 +1,28 @@
|
||||
diff --git base/third_party/double_conversion/BUILD.gn base/third_party/double_conversion/BUILD.gn
|
||||
index 0083efdcd9c8..6f647c31e28a 100644
|
||||
--- base/third_party/double_conversion/BUILD.gn
|
||||
+++ base/third_party/double_conversion/BUILD.gn
|
||||
@@ -9,6 +9,11 @@ config("config") {
|
||||
"-Wno-unused-const-variable",
|
||||
"-Wno-unused-function",
|
||||
]
|
||||
+
|
||||
+ # Build as C++17 to avoid export of templates that should be inlined.
|
||||
+ if (is_win) {
|
||||
+ cflags_cc = [ "/std:c++17" ]
|
||||
+ }
|
||||
}
|
||||
|
||||
static_library("double_conversion") {
|
||||
diff --git base/win/BUILD.gn base/win/BUILD.gn
|
||||
index 33a38267a658..0d54f224d31c 100644
|
||||
--- base/win/BUILD.gn
|
||||
+++ base/win/BUILD.gn
|
||||
@@ -31,4 +31,7 @@ static_library("pe_image") {
|
||||
"pe_image.cc",
|
||||
"pe_image.h",
|
||||
]
|
||||
+
|
||||
+ # Build as C++17 to avoid export of templates that should be inlined.
|
||||
+ cflags_cc = [ "/std:c++17" ]
|
||||
}
|
Reference in New Issue
Block a user