]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
libstdc++: Guard dynamic_cast use in src/c++23/print.cc [PR115015]
authorJonathan Wakely <jwakely@redhat.com>
Tue, 14 May 2024 13:32:23 +0000 (14:32 +0100)
committerJonathan Wakely <jwakely@redhat.com>
Tue, 14 May 2024 13:34:58 +0000 (14:34 +0100)
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.

libstdc++-v3/src/c++23/print.cc

index aceca6f9139bb35d660c71e187368e1e7afe9908..99a19cd45002ba5ab4a7bd0d5cf45f806ba2f477 100644 (file)
@@ -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))