https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91057

Kewen Lin <linkw at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |linkw at gcc dot gnu.org

--- Comment #3 from Kewen Lin <linkw at gcc dot gnu.org> ---
The commit in comment #2 seems caused bootstrap to fail on powerpc64le.

/home/linkw/gcc/gcc-svn/libstdc++-v3/src/c++98/locale.cc: In member function
‘std::size_t std::locale::id::_M_id() const’:
/home/linkw/gcc/gcc-svn/libstdc++-v3/src/c++98/locale.cc:508:47: error: invalid
conversion from ‘const std::locale::id*’ to ‘std::locale::id*’ [-fpermissive]
  508 |  if (locale::id* f = find_ldbl_sync_facet(this))
      |                                               ^
      |                                               |
      |                                               const std::locale::id*
/home/linkw/gcc/gcc-svn/libstdc++-v3/src/c++98/locale.cc:481:36: note:  
initializing argument 1 of ‘std::locale::id*
std::{anonymous}::find_ldbl_sync_facet(std::locale::id*)’
  481 |   find_ldbl_sync_facet(locale::id* __idp)
      |                        ~~~~~~~~~~~~^~~~~

One workaround could be:

Index: libstdc++-v3/src/c++98/locale.cc
===================================================================
--- libstdc++-v3/src/c++98/locale.cc    (revision 276787)
+++ libstdc++-v3/src/c++98/locale.cc    (working copy)
@@ -478,7 +478,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #ifdef _GLIBCXX_LONG_DOUBLE_COMPAT
 namespace {
   inline locale::id*
-  find_ldbl_sync_facet(locale::id* __idp)
+  find_ldbl_sync_facet(const locale::id* __idp)
   {
 # define _GLIBCXX_SYNC_ID(facet, mangled) \
     if (__idp == &::mangled)             \

Reply via email to