Differential D33923 Diff 101572 www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_include_v8config.h
Changeset View
Changeset View
Standalone View
Standalone View
www/onlyoffice-documentserver/files/patch-core_Common_3dParty_v8_v8_include_v8config.h
- This file was added.
--- core/Common/3dParty/v8/v8/include/v8config.h.orig 2020-12-15 11:23:25 UTC | |||||
+++ core/Common/3dParty/v8/v8/include/v8config.h | |||||
@@ -276,7 +276,18 @@ | |||||
# define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \ | |||||
(__has_attribute(warn_unused_result)) | |||||
+// Work around Clang bug present in 9.0.1, at least. | |||||
+// | |||||
+// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses | |||||
+// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment | |||||
+// (kPtrComprIsolateRootAlignment). As such, the alignment overflows and | |||||
+// becomes zero, triggering an internal Clang assertion that alignment must not | |||||
+// be zero. | |||||
+#if 0 | |||||
# define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned)) | |||||
+#else | |||||
+# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0 | |||||
+#endif | |||||
# define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16)) | |||||
# define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32)) | |||||
# define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64)) |