Files
test/extern/gtest/patches/gcc15.patch
Lukas Stockner 7842b27326 GTest: Fix compiler warning with GCC 15
`<ciso646>` is deprecated in C++17, and now GCC 15 has started to complain,
so include an upstream commit that fixes this.

Pull Request: https://projects.blender.org/blender/blender/pulls/139417
2025-06-26 02:03:34 +02:00

35 lines
1.4 KiB
Diff

From 00b2154e8e4bbb1ab0b22580c9f19fbfd3f56c04 Mon Sep 17 00:00:00 2001
From: Derek Mauro <dmauro@google.com>
Date: Tue, 29 Apr 2025 06:12:50 -0700
Subject: [PATCH] Fix GCC15 warning that <ciso646> 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(<version>))
-#include <version> // C++20 and later
-#elif (!defined(__has_include) || GTEST_INTERNAL_HAS_INCLUDE(<ciso646>))
+//
+// GCC15 warns that <ciso646> is deprecated in C++17 and suggests using
+// <version> instead, even though <version> is not available in C++17 mode prior
+// to GCC9.
+#if GTEST_INTERNAL_CPLUSPLUS_LANG >= 202002L || \
+ GTEST_INTERNAL_HAS_INCLUDE(<version>)
+#include <version> // C++20 or <version> support.
+#else
#include <ciso646> // Pre-C++20
#endif