1 --- src/3rdparty/chromium/v8/include/v8config.h.orig	2021-12-15 16:12:54 UTC
2 +++ src/3rdparty/chromium/v8/include/v8config.h
3 @@ -276,7 +276,18 @@
4  # define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT \
5      (__has_attribute(warn_unused_result))
6 
7 +// Work around Clang bug present in 9.0.1, at least.
8 +//
9 +// Clang stores alignment as a 32-bit unsigned integer, but V8 only uses
10 +// V8_ASSUME_ALIGNED() for a 4GB (2^32) alignment
11 +// (kPtrComprIsolateRootAlignment).  As such, the alignment overflows and
12 +// becomes zero, triggering an internal Clang assertion that alignment must not
13 +// be zero.
14 +#if 0
15  # define V8_HAS_BUILTIN_ASSUME_ALIGNED (__has_builtin(__builtin_assume_aligned))
16 +#else
17 +# define V8_HAS_BUILTIN_ASSUME_ALIGNED 0
18 +#endif
19  # define V8_HAS_BUILTIN_BSWAP16 (__has_builtin(__builtin_bswap16))
20  # define V8_HAS_BUILTIN_BSWAP32 (__has_builtin(__builtin_bswap32))
21  # define V8_HAS_BUILTIN_BSWAP64 (__has_builtin(__builtin_bswap64))
22