From: Jonathan Wakely Date: Tue, 14 May 2024 13:32:23 +0000 (+0100) Subject: libstdc++: Guard dynamic_cast use in src/c++23/print.cc [PR115015] X-Git-Tag: basepoints/gcc-16~9068 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6cc8698244b522ad079675022c9de9e40de85878;p=thirdparty%2Fgcc.git 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. --- diff --git a/libstdc++-v3/src/c++23/print.cc b/libstdc++-v3/src/c++23/print.cc index aceca6f9139..99a19cd4500 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*>(sb))