libstdc++-v3/ChangeLog:

        * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
        as unused and only use dynamic_cast when RTTI is enabled.

Tested powerpc64le-linux. Committed to trunk.

commit 14b554c462d5b6450fa24afb7ba55435ebd4b46f
Author: Jonathan Wakely <jwak...@redhat.com>
Date:   Fri Feb 12 11:36:27 2021

    libstdc++: Fix errors when syncbuf is used without RTTI
    
    libstdc++-v3/ChangeLog:
    
            * include/std/ostream (__syncbuf_base::_S_get): Mark parameter
            as unused and only use dynamic_cast when RTTI is enabled.

diff --git a/libstdc++-v3/include/std/ostream b/libstdc++-v3/include/std/ostream
index 85ed47ecbce..c7c4e78e8a7 100644
--- a/libstdc++-v3/include/std/ostream
+++ b/libstdc++-v3/include/std/ostream
@@ -783,10 +783,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     {
     public:
       static bool*
-      _S_get(basic_streambuf<_CharT, _Traits>* __buf) noexcept
+      _S_get(basic_streambuf<_CharT, _Traits>* __buf [[maybe_unused]]) noexcept
       {
+#if __cpp_rtti
        if (auto __p = dynamic_cast<__syncbuf_base*>(__buf))
          return &__p->_M_emit_on_sync;
+#endif
        return nullptr;
       }
 

Reply via email to