aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2024-05-14 14:32:23 +0100
committerJonathan Wakely <jwakely@redhat.com>2024-05-14 14:34:58 +0100
commit6cc8698244b522ad079675022c9de9e40de85878 (patch)
treec95a350b72386734702e6bab146bc62756f2ec02
parent0a99ad5c52caa06c113b1889bbe6634812b89be5 (diff)
downloadgcc-6cc8698244b522ad079675022c9de9e40de85878.zip
gcc-6cc8698244b522ad079675022c9de9e40de85878.tar.gz
gcc-6cc8698244b522ad079675022c9de9e40de85878.tar.bz2
libstdc++: Guard dynamic_cast use in src/c++23/print.cc [PR115015]
Do not use dynamic_cast unconditionally, in case libstdc++ is built with -fno-rtti. libstdc++-v3/ChangeLog: PR libstdc++/115015 * src/c++23/print.cc (__open_terminal(streambuf*)) [!__cpp_rtti]: Do not use dynamic_cast.
-rw-r--r--libstdc++-v3/src/c++23/print.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/libstdc++-v3/src/c++23/print.cc b/libstdc++-v3/src/c++23/print.cc
index aceca6f..99a19cd 100644
--- a/libstdc++-v3/src/c++23/print.cc
+++ b/libstdc++-v3/src/c++23/print.cc
@@ -87,7 +87,7 @@ namespace
void*
__open_terminal(std::streambuf* sb)
{
-#ifndef _GLIBCXX_USE_STDIO_PURE
+#if ! defined _GLIBCXX_USE_STDIO_PURE && defined __cpp_rtti
using namespace __gnu_cxx;
if (auto fb = dynamic_cast<stdio_sync_filebuf<char>*>(sb))