Commit a9cc80dd347 for nodejs

commit a9cc80dd347cf1107e43be24e4b3bcb3e29a55ca
Author: Joyee Cheung <joyeec9h3@gmail.com>
Date:   Mon Oct 5 15:54:12 2026 +0200

    deps: V8: cherry-pick 00508c374a45

    Original commit message:

        Add V8_HAS_WARNING for portable warning checks

        GCC does not provide the function-like __has_warning macro. Invoking it
        in a compound preprocessor condition causes a preprocessing error even
        when __clang__ is false.

        Add V8_HAS_WARNING to v8config.h, following existing feature-detection
        helpers. Use it for warning guards in base/macros.h. Compilers without
        __has_warning now use the fallback value of zero.

        Change-Id: I41d10799fd6f73a8bacbd3648aa0bb792d6b80cd
        Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/8385383
        Reviewed-by: Igor Sheludko <ishell@chromium.org>
        Commit-Queue: Igor Sheludko <ishell@chromium.org>
        Reviewed-by: Maksim Ivanov <emaxx@google.com>
        Cr-Commit-Position: refs/heads/main@{#109976}

    Refs: https://github.com/v8/v8/commit/00508c374a45e53e20e48cb103d512befed8cc43
    Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
    PR-URL: https://github.com/nodejs/node/pull/66537
    Reviewed-By: Richard Lau <richard.lau@ibm.com>
    Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
    Reviewed-By: Filip Skokan <panva.ip@gmail.com>
    Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>

diff --git a/common.gypi b/common.gypi
index 73695cac679..5586cbce856 100644
--- a/common.gypi
+++ b/common.gypi
@@ -44,7 +44,7 @@

     # Reset this number to 0 on major V8 upgrades.
     # Increment by one for each non-official patch applied to deps/v8.
-    'v8_embedder_string': '-node.7',
+    'v8_embedder_string': '-node.8',

     ##### V8 defaults for Node.js #####

diff --git a/deps/v8/include/v8config.h b/deps/v8/include/v8config.h
index b36169f1f77..b7aeeade6b8 100644
--- a/deps/v8/include/v8config.h
+++ b/deps/v8/include/v8config.h
@@ -354,6 +354,7 @@ path. Add it with -I<path> to the command line
 //  V8_HAS_DECLSPEC_NOINLINE            - __declspec(noinline) supported
 //  V8_HAS_DECLSPEC_SELECTANY           - __declspec(selectany) supported
 //  V8_HAS___FORCEINLINE                - __forceinline supported
+//  V8_HAS_WARNING(WARNING)             - whether WARNING is supported
 //
 // Note that testing for compilers and/or features must be done using #if
 // not #ifdef. For example, to test for Intel C++ Compiler, use:
@@ -367,6 +368,12 @@ path. Add it with -I<path> to the command line
 #define V8_HAS_CPP_ATTRIBUTE(FEATURE) 0
 #endif

+#if defined(__has_warning)
+#define V8_HAS_WARNING(WARNING) __has_warning(WARNING)
+#else
+#define V8_HAS_WARNING(WARNING) 0
+#endif
+
 #if defined(__clang__)

 #if defined(__GNUC__)  // Clang in gcc mode.
diff --git a/deps/v8/src/base/macros.h b/deps/v8/src/base/macros.h
index c2c24e8229a..5b1619f9ef0 100644
--- a/deps/v8/src/base/macros.h
+++ b/deps/v8/src/base/macros.h
@@ -668,8 +668,7 @@ static_assert(V8_ENABLE_SIMD128);
 #endif  // defined(__clang__)

 // Disable/enable -Wlifetime-safety warnings in code.
-#if defined(__clang__) && defined(__has_warning) && \
-    __has_warning("-Wlifetime-safety")
+#if V8_HAS_WARNING("-Wlifetime-safety")
 #define START_IGNORE_LIFETIME_SAFETY_WARNINGS() \
   _Pragma("clang diagnostic push")              \
       _Pragma("clang diagnostic ignored \"-Wlifetime-safety\"")
@@ -677,11 +676,10 @@ static_assert(V8_ENABLE_SIMD128);
 #else
 #define START_IGNORE_LIFETIME_SAFETY_WARNINGS()
 #define END_IGNORE_LIFETIME_SAFETY_WARNINGS()
-#endif  // defined(__clang__)
+#endif  // V8_HAS_WARNING("-Wlifetime-safety")

 // Disable/enable -Wreturn-stack-address warnings in code.
-#if defined(__clang__) && defined(__has_warning) && \
-    __has_warning("-Wreturn-stack-address")
+#if V8_HAS_WARNING("-Wreturn-stack-address")
 #define START_IGNORE_RETURN_STACK_ADDRESS_WARNINGS() \
   _Pragma("clang diagnostic push")                   \
       _Pragma("clang diagnostic ignored \"-Wreturn-stack-address\"")
@@ -690,6 +688,6 @@ static_assert(V8_ENABLE_SIMD128);
 #else
 #define START_IGNORE_RETURN_STACK_ADDRESS_WARNINGS()
 #define END_IGNORE_RETURN_STACK_ADDRESS_WARNINGS()
-#endif  // defined(__clang__)
+#endif  // V8_HAS_WARNING("-Wreturn-stack-address")

 #endif  // V8_BASE_MACROS_H_