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
This commit is contained in:
2
extern/gtest/README.blender
vendored
2
extern/gtest/README.blender
vendored
@@ -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
|
||||
|
||||
12
extern/gtest/include/gtest/internal/gtest-port.h
vendored
12
extern/gtest/include/gtest/internal/gtest-port.h
vendored
@@ -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(<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
|
||||
|
||||
|
||||
34
extern/gtest/patches/gcc15.patch
vendored
Normal file
34
extern/gtest/patches/gcc15.patch
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
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
|
||||
|
||||
Reference in New Issue
Block a user