#ifndef V8CONFIG_H_
#define V8CONFIG_H_
#if __cplusplus <= 201703L
#error "C++20 or later required."
#endif
#ifdef V8_GN_HEADER
#if !__has_include("v8-gn.h")
#error Missing v8-gn.h. The configuration for v8 is missing from the include \
path. Add it with -I<path> to the command line
#endif
#include "v8-gn.h"
#endif
#include <memory>
#if defined(__ANDROID__)
# include <sys/cdefs.h>
#elif defined(__APPLE__)
# include <TargetConditionals.h>
#elif defined(__linux__)
# include <features.h>
#elif defined(__MVS__)
# include "zos-base.h"
#endif
#if defined(__GLIBC__) && defined(__GLIBC_MINOR__)
#define V8_GLIBC_PREREQ(major, minor) …
#else
#define V8_GLIBC_PREREQ …
#endif
#if defined(__GNUC__) && defined(__GNUC_MINOR__) && defined(__GNUC_PATCHLEVEL__)
#define V8_GNUC_PREREQ(major, minor, patchlevel) …
#elif defined(__GNUC__) && defined(__GNUC_MINOR__)
#define V8_GNUC_PREREQ …
#else
#define V8_GNUC_PREREQ …
#endif
#if defined(__ANDROID__)
#define V8_OS_ANDROID …
#define V8_OS_LINUX …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__APPLE__)
#define V8_OS_POSIX …
#define V8_OS_BSD …
#define V8_OS_DARWIN …
# if defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE
#define V8_OS_IOS …
#define V8_OS_STRING …
# else
#define V8_OS_MACOS …
#define V8_OS_STRING …
# endif
#elif defined(__CYGWIN__)
#define V8_OS_CYGWIN …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__linux__)
#define V8_OS_LINUX …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__sun)
#define V8_OS_POSIX …
#define V8_OS_SOLARIS …
#define V8_OS_STRING …
#elif defined(STARBOARD)
#define V8_OS_STARBOARD …
#define V8_OS_STRING …
#elif defined(_AIX)
#define V8_OS_POSIX …
#define V8_OS_AIX …
#define V8_OS_STRING …
#elif defined(__FreeBSD__)
#define V8_OS_BSD …
#define V8_OS_FREEBSD …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__Fuchsia__)
#define V8_OS_FUCHSIA …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__DragonFly__)
#define V8_OS_BSD …
#define V8_OS_DRAGONFLYBSD …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__NetBSD__)
#define V8_OS_BSD …
#define V8_OS_NETBSD …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__OpenBSD__)
#define V8_OS_BSD …
#define V8_OS_OPENBSD …
#define V8_OS_POSIX …
#define V8_OS_STRING …
#elif defined(__QNXNTO__)
#define V8_OS_POSIX …
#define V8_OS_QNX …
#define V8_OS_STRING …
#elif defined(_WIN32)
#define V8_OS_WIN …
#define V8_OS_STRING …
#elif defined(__MVS__)
#define V8_OS_POSIX …
#define V8_OS_ZOS …
#define V8_OS_STRING …
#endif
#ifdef V8_HAVE_TARGET_OS
# if !defined(V8_TARGET_OS_ANDROID) \
&& !defined(V8_TARGET_OS_FUCHSIA) \
&& !defined(V8_TARGET_OS_IOS) \
&& !defined(V8_TARGET_OS_LINUX) \
&& !defined(V8_TARGET_OS_MACOS) \
&& !defined(V8_TARGET_OS_WIN) \
&& !defined(V8_TARGET_OS_CHROMEOS)
# error No known target OS defined.
# endif
#else
# if defined(V8_TARGET_OS_ANDROID) \
|| defined(V8_TARGET_OS_FUCHSIA) \
|| defined(V8_TARGET_OS_IOS) \
|| defined(V8_TARGET_OS_LINUX) \
|| defined(V8_TARGET_OS_MACOS) \
|| defined(V8_TARGET_OS_WIN) \
|| defined(V8_TARGET_OS_CHROMEOS)
# error A target OS is defined but V8_HAVE_TARGET_OS is unset.
# endif
#ifdef V8_OS_ANDROID
#define V8_TARGET_OS_ANDROID
#endif
#ifdef V8_OS_FUCHSIA
#define V8_TARGET_OS_FUCHSIA
#endif
#ifdef V8_OS_IOS
#define V8_TARGET_OS_IOS
#endif
#ifdef V8_OS_LINUX
#define V8_TARGET_OS_LINUX
#endif
#ifdef V8_OS_MACOS
#define V8_TARGET_OS_MACOS
#endif
#ifdef V8_OS_WIN
#define V8_TARGET_OS_WIN
#endif
#endif
#if defined(V8_TARGET_OS_ANDROID)
#define V8_TARGET_OS_STRING …
#elif defined(V8_TARGET_OS_FUCHSIA)
#define V8_TARGET_OS_STRING …
#elif defined(V8_TARGET_OS_IOS)
#define V8_TARGET_OS_STRING …
#elif defined(V8_TARGET_OS_LINUX)
#define V8_TARGET_OS_STRING …
#elif defined(V8_TARGET_OS_MACOS)
#define V8_TARGET_OS_STRING …
#elif defined(V8_TARGET_OS_WINDOWS)
#define V8_TARGET_OS_STRING …
#else
#define V8_TARGET_OS_STRING …
#endif
#if defined (_MSC_VER)
#define V8_LIBC_MSVCRT …
#elif defined(__BIONIC__)
#define V8_LIBC_BIONIC …
#define V8_LIBC_BSD …
#elif defined(__UCLIBC__)
#define V8_LIBC_UCLIBC …
#elif defined(__GLIBC__) || defined(__GNU_LIBRARY__)
#define V8_LIBC_GLIBC …
#else
#define V8_LIBC_BSD …
#endif
#if defined(__has_cpp_attribute)
#define V8_HAS_CPP_ATTRIBUTE …
#else
#define V8_HAS_CPP_ATTRIBUTE …
#endif
#if defined(__clang__)
#if defined(__GNUC__)
#define V8_CC_GNU …
#endif
#define V8_HAS_ATTRIBUTE_ALWAYS_INLINE …
#define V8_HAS_ATTRIBUTE_CONSTINIT …
#define V8_HAS_ATTRIBUTE_CONST …
#define V8_HAS_ATTRIBUTE_NONNULL …
#define V8_HAS_ATTRIBUTE_NOINLINE …
#define V8_HAS_ATTRIBUTE_UNUSED …
#define V8_HAS_ATTRIBUTE_USED …
#define V8_HAS_ATTRIBUTE_RETAIN …
#if (defined(_M_X64) || defined(__x86_64__) \
|| ((defined(__AARCH64EL__) || defined(_M_ARM64)) \
&& !defined(_WIN32))) \
&& !defined(COMPONENT_BUILD) \
&& __clang_major__ >= 17
#define V8_HAS_ATTRIBUTE_PRESERVE_MOST …
#endif
#define V8_HAS_ATTRIBUTE_VISIBILITY …
#define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT …
#define V8_HAS_ATTRIBUTE_WEAK …
#define V8_HAS_CPP_ATTRIBUTE_NODISCARD …
#if defined(V8_CC_MSVC)
#define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS …
#else
#define V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS …
#endif
#define V8_HAS_BUILTIN_ADD_OVERFLOW …
#define V8_HAS_BUILTIN_ASSUME …
#define V8_HAS_BUILTIN_ASSUME_ALIGNED …
#define V8_HAS_BUILTIN_BIT_CAST …
#define V8_HAS_BUILTIN_BSWAP16 …
#define V8_HAS_BUILTIN_BSWAP32 …
#define V8_HAS_BUILTIN_BSWAP64 …
#define V8_HAS_BUILTIN_CLZ …
#define V8_HAS_BUILTIN_CTZ …
#define V8_HAS_BUILTIN_EXPECT …
#define V8_HAS_BUILTIN_FRAME_ADDRESS …
#define V8_HAS_BUILTIN_MUL_OVERFLOW …
#define V8_HAS_BUILTIN_POPCOUNT …
#define V8_HAS_BUILTIN_SADD_OVERFLOW …
#define V8_HAS_BUILTIN_SMUL_OVERFLOW …
#define V8_HAS_BUILTIN_SSUB_OVERFLOW …
#define V8_HAS_BUILTIN_SUB_OVERFLOW …
#define V8_HAS_BUILTIN_UADD_OVERFLOW …
#define V8_HAS_BUILTIN_UNREACHABLE …
#define V8_HAS_COMPUTED_GOTO …
#elif defined(__GNUC__)
#define V8_CC_GNU …
# if defined(__INTEL_COMPILER)
#define V8_CC_INTEL …
# endif
# if defined(__MINGW32__)
#define V8_CC_MINGW32 …
# endif
# if defined(__MINGW64__)
#define V8_CC_MINGW64 …
# endif
#define V8_CC_MINGW …
#define V8_HAS_ATTRIBUTE_ALWAYS_INLINE …
#define V8_HAS_ATTRIBUTE_NOINLINE …
#define V8_HAS_ATTRIBUTE_UNUSED …
#define V8_HAS_ATTRIBUTE_VISIBILITY …
#define V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT …
#define V8_HAS_ATTRIBUTE_WEAK …
#define V8_HAS_BUILTIN_ASSUME_ALIGNED …
# if __GNUC__ >= 11
#define V8_HAS_BUILTIN_BIT_CAST …
# endif
#define V8_HAS_BUILTIN_CLZ …
#define V8_HAS_BUILTIN_CTZ …
#define V8_HAS_BUILTIN_EXPECT …
#define V8_HAS_BUILTIN_FRAME_ADDRESS …
#define V8_HAS_BUILTIN_POPCOUNT …
#define V8_HAS_BUILTIN_UNREACHABLE …
#define V8_HAS_COMPUTED_GOTO …
#endif
#if defined(_MSC_VER)
#define V8_CC_MSVC …
#define V8_HAS_DECLSPEC_NOINLINE …
#define V8_HAS_DECLSPEC_SELECTANY …
#define V8_HAS___FORCEINLINE …
#endif
#if !defined(DEBUG) && V8_HAS_ATTRIBUTE_ALWAYS_INLINE
#define V8_INLINE …
#elif !defined(DEBUG) && V8_HAS___FORCEINLINE
#define V8_INLINE …
#else
#define V8_INLINE …
#endif
#if V8_HAS_BUILTIN_ASSUME
#ifdef DEBUG
#define V8_ASSUME …
#else
#define V8_ASSUME …
#endif
#elif V8_HAS_BUILTIN_UNREACHABLE
#define V8_ASSUME …
#else
#define V8_ASSUME …
#endif
#if __cplusplus >= 202002L && defined(__cpp_lib_assume_aligned) && !V8_CC_MSVC
#define V8_ASSUME_ALIGNED(ptr, alignment) …
#elif V8_HAS_BUILTIN_ASSUME_ALIGNED
#define V8_ASSUME_ALIGNED …
#else
#define V8_ASSUME_ALIGNED …
#endif
#if V8_HAS_ATTRIBUTE_CONST
#define V8_CONST …
#else
#define V8_CONST
#endif
#if V8_HAS_ATTRIBUTE_CONSTINIT
#define V8_CONSTINIT …
#else
#define V8_CONSTINIT
#endif
#if V8_HAS_ATTRIBUTE_NONNULL
#define V8_NONNULL(...) …
#else
#define V8_NONNULL …
#endif
#if V8_HAS_ATTRIBUTE_NOINLINE
#define V8_NOINLINE …
#elif V8_HAS_DECLSPEC_NOINLINE
#define V8_NOINLINE …
#else
#define V8_NOINLINE …
#endif
#if V8_HAS_ATTRIBUTE_PRESERVE_MOST
#define V8_PRESERVE_MOST …
#else
#define V8_PRESERVE_MOST …
#endif
#if defined(V8_DEPRECATION_WARNINGS)
#define V8_DEPRECATED(message) …
#else
#define V8_DEPRECATED …
#endif
#if defined(V8_IMMINENT_DEPRECATION_WARNINGS)
#define V8_DEPRECATE_SOON …
#else
#define V8_DEPRECATE_SOON(message) …
#endif
#if defined(V8_IMMINENT_DEPRECATION_WARNINGS) || \
defined(V8_DEPRECATION_WARNINGS)
#if defined(V8_CC_MSVC)
#define START_ALLOW_USE_DEPRECATED …
#define END_ALLOW_USE_DEPRECATED …
#else
#define START_ALLOW_USE_DEPRECATED() …
#define END_ALLOW_USE_DEPRECATED() …
#endif
#else
#define START_ALLOW_USE_DEPRECATED …
#define END_ALLOW_USE_DEPRECATED …
#endif
#define ALLOW_COPY_AND_MOVE_WITH_DEPRECATED_FIELDS(ClassName) …
#if defined(__GNUC__) && !defined(__clang__) && (__GNUC__ < 6)
#define V8_ENUM_DEPRECATED …
#define V8_ENUM_DEPRECATE_SOON …
#else
#define V8_ENUM_DEPRECATED(message) …
#define V8_ENUM_DEPRECATE_SOON(message) …
#endif
#if V8_HAS_BUILTIN_EXPECT
#define V8_UNLIKELY(condition) …
#define V8_LIKELY(condition) …
#else
#define V8_UNLIKELY …
#define V8_LIKELY …
#endif
#if V8_HAS_ATTRIBUTE_WARN_UNUSED_RESULT
#define V8_WARN_UNUSED_RESULT …
#else
#define V8_WARN_UNUSED_RESULT …
#endif
#if V8_HAS_ATTRIBUTE_WEAK
#define V8_WEAK …
#else
#define V8_WEAK …
#endif
#if V8_HAS_CPP_ATTRIBUTE_NODISCARD
#define V8_NODISCARD …
#else
#define V8_NODISCARD …
#endif
#if V8_HAS_CPP_ATTRIBUTE_NO_UNIQUE_ADDRESS
#if defined(V8_CC_MSVC) && V8_HAS_CPP_ATTRIBUTE(msvc::no_unique_address)
#define V8_NO_UNIQUE_ADDRESS …
#else
#define V8_NO_UNIQUE_ADDRESS …
#endif
#else
#define V8_NO_UNIQUE_ADDRESS …
#endif
#if defined(__clang__) && defined(__has_attribute)
#if __has_attribute(trivial_abi)
#define V8_TRIVIAL_ABI …
#define V8_HAS_ATTRIBUTE_TRIVIAL_ABI …
#endif
#endif
#if !defined(V8_TRIVIAL_ABI)
#define V8_TRIVIAL_ABI
#define V8_HAS_ATTRIBUTE_TRIVIAL_ABI …
#endif
#if defined(__clang__) && defined(__has_attribute)
#if __has_attribute(no_sanitize)
#define V8_CLANG_NO_SANITIZE(what) …
#endif
#endif
#if !defined(V8_CLANG_NO_SANITIZE)
#define V8_CLANG_NO_SANITIZE …
#endif
#ifdef BUILDING_V8_SHARED_PRIVATE
#define BUILDING_V8_SHARED
#endif
#if defined(BUILDING_V8_SHARED) && defined(USING_V8_SHARED)
#error Inconsistent build configuration: To build the V8 shared library \
set BUILDING_V8_SHARED, to include its headers for linking against the \
V8 shared library set USING_V8_SHARED.
#endif
#ifdef V8_OS_WIN
#ifdef BUILDING_V8_SHARED
#define V8_EXPORT …
#elif USING_V8_SHARED
#define V8_EXPORT …
#else
#define V8_EXPORT
#endif
#else
#if V8_HAS_ATTRIBUTE_VISIBILITY
# ifdef BUILDING_V8_SHARED
#define V8_EXPORT …
# else
#define V8_EXPORT
# endif
#else
#define V8_EXPORT
#endif
#endif
#if defined(_M_X64) || defined(__x86_64__)
#define V8_HOST_ARCH_X64 …
#if defined(__x86_64__) && __SIZEOF_POINTER__ == 4
#define V8_HOST_ARCH_32_BIT …
#else
#define V8_HOST_ARCH_64_BIT …
#endif
#elif defined(_M_IX86) || defined(__i386__)
#define V8_HOST_ARCH_IA32 …
#define V8_HOST_ARCH_32_BIT …
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
#define V8_HOST_ARCH_ARM64 …
#define V8_HOST_ARCH_64_BIT …
#elif defined(__ARMEL__)
#define V8_HOST_ARCH_ARM …
#define V8_HOST_ARCH_32_BIT …
#elif defined(__mips64)
#define V8_HOST_ARCH_MIPS64 …
#define V8_HOST_ARCH_64_BIT …
#elif defined(__loongarch_lp64)
#define V8_HOST_ARCH_LOONG64 …
#define V8_HOST_ARCH_64_BIT …
#elif defined(__PPC64__) || defined(_ARCH_PPC64)
#define V8_HOST_ARCH_PPC64 …
#define V8_HOST_ARCH_64_BIT …
#elif defined(__s390__) || defined(__s390x__)
#define V8_HOST_ARCH_S390 …
#if defined(__s390x__)
#define V8_HOST_ARCH_64_BIT …
#else
#define V8_HOST_ARCH_32_BIT …
#endif
#elif defined(__riscv) || defined(__riscv__)
#if __riscv_xlen == 64
#define V8_HOST_ARCH_RISCV64 …
#define V8_HOST_ARCH_64_BIT …
#elif __riscv_xlen == 32
#define V8_HOST_ARCH_RISCV32 …
#define V8_HOST_ARCH_32_BIT …
#else
#error "Cannot detect Riscv's bitwidth"
#endif
#else
#error "Host architecture was not detected as supported by v8"
#endif
#if !V8_TARGET_ARCH_X64 && !V8_TARGET_ARCH_IA32 && !V8_TARGET_ARCH_ARM && \
!V8_TARGET_ARCH_ARM64 && !V8_TARGET_ARCH_MIPS64 && \
!V8_TARGET_ARCH_PPC64 && !V8_TARGET_ARCH_S390 && \
!V8_TARGET_ARCH_RISCV64 && !V8_TARGET_ARCH_LOONG64 && \
!V8_TARGET_ARCH_RISCV32
#if defined(_M_X64) || defined(__x86_64__)
#define V8_TARGET_ARCH_X64 …
#elif defined(_M_IX86) || defined(__i386__)
#define V8_TARGET_ARCH_IA32 …
#elif defined(__AARCH64EL__) || defined(_M_ARM64)
#define V8_TARGET_ARCH_ARM64 …
#elif defined(__ARMEL__)
#define V8_TARGET_ARCH_ARM …
#elif defined(__mips64)
#define V8_TARGET_ARCH_MIPS64 …
#elif defined(__loongarch_lp64)
#define V8_TARGET_ARCH_LOONG64 …
#elif defined(_ARCH_PPC64)
#define V8_TARGET_ARCH_PPC64 …
#elif defined(__s390__)
#define V8_TARGET_ARCH_S390 …
#if defined(__s390x__)
#define V8_TARGET_ARCH_S390X …
#endif
#elif defined(__riscv) || defined(__riscv__)
#if __riscv_xlen == 64
#define V8_TARGET_ARCH_RISCV64 …
#elif __riscv_xlen == 32
#define V8_TARGET_ARCH_RISCV32 …
#endif
#else
#error Target architecture was not detected as supported by v8
#endif
#endif
#if V8_TARGET_ARCH_IA32
#define V8_TARGET_ARCH_32_BIT …
#elif V8_TARGET_ARCH_X64
#if !V8_TARGET_ARCH_32_BIT && !V8_TARGET_ARCH_64_BIT
#if defined(__x86_64__) && __SIZEOF_POINTER__ == 4
#define V8_TARGET_ARCH_32_BIT …
#else
#define V8_TARGET_ARCH_64_BIT …
#endif
#endif
#elif V8_TARGET_ARCH_ARM
#define V8_TARGET_ARCH_32_BIT …
#elif V8_TARGET_ARCH_ARM64
#define V8_TARGET_ARCH_64_BIT …
#elif V8_TARGET_ARCH_MIPS
#define V8_TARGET_ARCH_32_BIT …
#elif V8_TARGET_ARCH_MIPS64
#define V8_TARGET_ARCH_64_BIT …
#elif V8_TARGET_ARCH_LOONG64
#define V8_TARGET_ARCH_64_BIT …
#elif V8_TARGET_ARCH_PPC64
#define V8_TARGET_ARCH_64_BIT …
#elif V8_TARGET_ARCH_S390
#if V8_TARGET_ARCH_S390X
#define V8_TARGET_ARCH_64_BIT …
#else
#define V8_TARGET_ARCH_32_BIT …
#endif
#elif V8_TARGET_ARCH_RISCV64
#define V8_TARGET_ARCH_64_BIT …
#elif V8_TARGET_ARCH_RISCV32
#define V8_TARGET_ARCH_32_BIT …
#else
#error Unknown target architecture pointer size
#endif
#if V8_TARGET_ARCH_IA32 && !V8_HOST_ARCH_IA32
#error Target architecture ia32 is only supported on ia32 host
#endif
#if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_64_BIT && \
!((V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64) && V8_HOST_ARCH_64_BIT))
#error Target architecture x64 is only supported on x64 and arm64 host
#endif
#if (V8_TARGET_ARCH_X64 && V8_TARGET_ARCH_32_BIT && \
!(V8_HOST_ARCH_X64 && V8_HOST_ARCH_32_BIT))
#error Target architecture x32 is only supported on x64 host with x32 support
#endif
#if (V8_TARGET_ARCH_ARM && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_ARM))
#error Target architecture arm is only supported on arm and ia32 host
#endif
#if (V8_TARGET_ARCH_ARM64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_ARM64))
#error Target architecture arm64 is only supported on arm64 and x64 host
#endif
#if (V8_TARGET_ARCH_MIPS64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_MIPS64))
#error Target architecture mips64 is only supported on mips64 and x64 host
#endif
#if (V8_TARGET_ARCH_RISCV64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_RISCV64))
#error Target architecture riscv64 is only supported on riscv64 and x64 host
#endif
#if (V8_TARGET_ARCH_RISCV32 && !(V8_HOST_ARCH_IA32 || V8_HOST_ARCH_RISCV32))
#error Target architecture riscv32 is only supported on riscv32 and ia32 host
#endif
#if (V8_TARGET_ARCH_LOONG64 && !(V8_HOST_ARCH_X64 || V8_HOST_ARCH_LOONG64))
#error Target architecture loong64 is only supported on loong64 and x64 host
#endif
#if V8_TARGET_ARCH_IA32
#define V8_TARGET_LITTLE_ENDIAN …
#elif V8_TARGET_ARCH_X64
#define V8_TARGET_LITTLE_ENDIAN …
#elif V8_TARGET_ARCH_ARM
#define V8_TARGET_LITTLE_ENDIAN …
#elif V8_TARGET_ARCH_ARM64
#define V8_TARGET_LITTLE_ENDIAN …
#elif V8_TARGET_ARCH_LOONG64
#define V8_TARGET_LITTLE_ENDIAN …
#elif V8_TARGET_ARCH_MIPS64
#if defined(__MIPSEB__) || defined(V8_TARGET_ARCH_MIPS64_BE)
#define V8_TARGET_BIG_ENDIAN …
#else
#define V8_TARGET_LITTLE_ENDIAN …
#endif
#elif V8_TARGET_ARCH_PPC64
#if V8_OS_AIX
#define V8_TARGET_BIG_ENDIAN …
#else
#define V8_TARGET_LITTLE_ENDIAN …
#endif
#elif V8_TARGET_ARCH_S390
#if V8_TARGET_ARCH_S390_LE_SIM
#define V8_TARGET_LITTLE_ENDIAN …
#else
#define V8_TARGET_BIG_ENDIAN …
#endif
#elif V8_TARGET_ARCH_RISCV32 || V8_TARGET_ARCH_RISCV64
#define V8_TARGET_LITTLE_ENDIAN …
#elif defined(__BYTE_ORDER__)
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
#define V8_TARGET_BIG_ENDIAN …
#else
#define V8_TARGET_LITTLE_ENDIAN …
#endif
#else
#error Unknown target architecture endianness
#endif
#undef V8_HAS_CPP_ATTRIBUTE
#if !defined(V8_STATIC_ROOTS)
#define V8_STATIC_ROOTS_BOOL …
#else
#define V8_STATIC_ROOTS_BOOL …
#endif
#ifdef V8_TARGET_BIG_ENDIAN
#define V8_TARGET_BIG_ENDIAN_BOOL …
#else
#define V8_TARGET_BIG_ENDIAN_BOOL …
#endif
#endif