diff --git a/extern/gtest/README.blender b/extern/gtest/README.blender index 77e1995a774..c08abcf727f 100644 --- a/extern/gtest/README.blender +++ b/extern/gtest/README.blender @@ -3,4 +3,4 @@ URL: https://github.com/google/googletest License: SPDX:BSD-3-Clause Copyright: Copyright 2007, Google Inc. All rights reserved. Upstream version: 1.15.2 (b514bdc898e2951020cbdca1304b75f5950d1f59) -Local modifications: None +Local modifications: Apply patches/gcc15.patch diff --git a/extern/gtest/include/gtest/internal/gtest-port.h b/extern/gtest/include/gtest/internal/gtest-port.h index 8d27c2c4f72..6c313b1170f 100644 --- a/extern/gtest/include/gtest/internal/gtest-port.h +++ b/extern/gtest/include/gtest/internal/gtest-port.h @@ -288,10 +288,14 @@ // Detect C++ feature test macros as gracefully as possible. // MSVC >= 19.15, Clang >= 3.4.1, and GCC >= 4.1.2 support feature test macros. -#if GTEST_INTERNAL_CPLUSPLUS_LANG >= 202002L && \ - (!defined(__has_include) || GTEST_INTERNAL_HAS_INCLUDE()) -#include // C++20 and later -#elif (!defined(__has_include) || GTEST_INTERNAL_HAS_INCLUDE()) +// +// GCC15 warns that is deprecated in C++17 and suggests using +// instead, even though is not available in C++17 mode prior +// to GCC9. +#if GTEST_INTERNAL_CPLUSPLUS_LANG >= 202002L || \ + GTEST_INTERNAL_HAS_INCLUDE() +#include // C++20 or support. +#else #include // Pre-C++20 #endif diff --git a/extern/gtest/patches/gcc15.patch b/extern/gtest/patches/gcc15.patch new file mode 100644 index 00000000000..20f044fde3c --- /dev/null +++ b/extern/gtest/patches/gcc15.patch @@ -0,0 +1,34 @@ +From 00b2154e8e4bbb1ab0b22580c9f19fbfd3f56c04 Mon Sep 17 00:00:00 2001 +From: Derek Mauro +Date: Tue, 29 Apr 2025 06:12:50 -0700 +Subject: [PATCH] Fix GCC15 warning that is deprecated in C++17 + +PiperOrigin-RevId: 752706554 +Change-Id: I83d35b693efdaabcc63d15169dbf19d63163a563 +--- + googletest/include/gtest/internal/gtest-port.h | 12 ++++++++---- + 1 file changed, 8 insertions(+), 4 deletions(-) + +diff --git a/googletest/include/gtest/internal/gtest-port.h b/googletest/include/gtest/internal/gtest-port.h +index 4cfc16c03e..25b7d194db 100644 +--- a/googletest/include/gtest/internal/gtest-port.h ++++ b/googletest/include/gtest/internal/gtest-port.h +@@ -282,10 +282,14 @@ + + // Detect C++ feature test macros as gracefully as possible. + // MSVC >= 19.15, Clang >= 3.4.1, and GCC >= 4.1.2 support feature test macros. +-#if GTEST_INTERNAL_CPLUSPLUS_LANG >= 202002L && \ +- (!defined(__has_include) || GTEST_INTERNAL_HAS_INCLUDE()) +-#include // C++20 and later +-#elif (!defined(__has_include) || GTEST_INTERNAL_HAS_INCLUDE()) ++// ++// GCC15 warns that is deprecated in C++17 and suggests using ++// instead, even though is not available in C++17 mode prior ++// to GCC9. ++#if GTEST_INTERNAL_CPLUSPLUS_LANG >= 202002L || \ ++ GTEST_INTERNAL_HAS_INCLUDE() ++#include // C++20 or support. ++#else + #include // Pre-C++20 + #endif +