Googletest export

Revert https://github.com/google/googletest/commit/ac3c2a8d0496893787015014a5abd397b766cce2 -- it seems to break some gcc users (#3384)

PiperOrigin-RevId: 370834917
diff --git a/googletest/include/gtest/gtest-printers.h b/googletest/include/gtest/gtest-printers.h
index 46fe895..978420e 100644
--- a/googletest/include/gtest/gtest-printers.h
+++ b/googletest/include/gtest/gtest-printers.h
@@ -113,11 +113,6 @@
 #include "gtest/internal/gtest-internal.h"
 #include "gtest/internal/gtest-port.h"
 
-#if GTEST_HAS_RTTI
-#include <typeindex>
-#include <typeinfo>
-#endif  // GTEST_HAS_RTTI
-
 namespace testing {
 
 // Definitions in the internal* namespaces are subject to change without notice.
@@ -672,18 +667,6 @@
   *os << ')';
 }
 
-#if GTEST_HAS_RTTI
-inline void PrintTo(const ::std::type_info& value, ::std::ostream* os) {
-  internal::PrintTo<::std::type_info>(value, os);
-  *os << " (\"" << value.name() << "\")";
-}
-
-inline void PrintTo(const ::std::type_index& value, ::std::ostream* os) {
-  internal::PrintTo<::std::type_index>(value, os);
-  *os << " (\"" << value.name() << "\")";
-}
-#endif  // GTEST_HAS_RTTI
-
 // Implements printing a non-reference type T by letting the compiler
 // pick the right overload of PrintTo() for T.
 template <typename T>
diff --git a/googletest/test/googletest-printers-test.cc b/googletest/test/googletest-printers-test.cc
index 4e8d66e..e1e8e1c 100644
--- a/googletest/test/googletest-printers-test.cc
+++ b/googletest/test/googletest-printers-test.cc
@@ -1612,61 +1612,6 @@
                           "\n    As Text: \"From ä — αΊ‘\"");
 }
 
-#if GTEST_HAS_RTTI
-template <typename T>
-class PrintToStringTest : public testing::Test {
- public:
-  using TestType = T;
-};
-
-struct PrintBase {
-  virtual ~PrintBase() = default;
-};
-struct PrintDerived : PrintBase {};
-
-using PrintToStringTestTypes =
-    testing::Types<void, int, const volatile int*, PrintBase, PrintDerived>;
-TYPED_TEST_SUITE(PrintToStringTest, PrintToStringTestTypes);
-
-// Returns `true` if `haystack` contains `needle`.
-//
-// FIXME: Replace with `EXPECT_THAT(haystack, HasSubstr(needle))` once
-// GoogleTest starts depending on GoogleMock.
-bool ContainsSubstr(const std::string& haystack, const std::string& needle) {
-  return haystack.find(needle) != std::string::npos;
-}
-
-TYPED_TEST(PrintToStringTest, IncludesNameWithTypeInfoAndTypeIndex) {
-  const ::std::type_info& info = typeid(typename TestFixture::TestType);
-  SCOPED_TRACE(info.name());
-  EXPECT_TRUE(ContainsSubstr(PrintToString(info), info.name()));
-  EXPECT_TRUE(
-      ContainsSubstr(PrintToString(::std::type_index{info}), info.name()));
-}
-
-TEST(PrintToStringTest, IncludesNameWithTypeInfoAndTypeIndexViaBaseRef) {
-  PrintDerived derived;
-  PrintBase& base = derived;
-
-  {
-    const ::std::type_info& derived_info = typeid(derived);
-    SCOPED_TRACE(derived_info.name());
-    EXPECT_TRUE(
-        ContainsSubstr(PrintToString(derived_info), derived_info.name()));
-    EXPECT_TRUE(ContainsSubstr(PrintToString(::std::type_index{derived_info}),
-                               derived_info.name()));
-  }
-  {
-    const ::std::type_info& base_ref_info = typeid(base);
-    SCOPED_TRACE(base_ref_info.name());
-    EXPECT_TRUE(
-        ContainsSubstr(PrintToString(base_ref_info), base_ref_info.name()));
-    EXPECT_TRUE(ContainsSubstr(PrintToString(::std::type_index{base_ref_info}),
-                               base_ref_info.name()));
-  }
-}
-#endif  // GTEST_HAS_RTTI
-
 TEST(IsValidUTF8Test, IllFormedUTF8) {
   // The following test strings are ill-formed UTF-8 and are printed
   // as hex only (or ASCII, in case of ASCII bytes) because IsValidUTF8() is