On Thu, 15 May 2025 at 15:02, Rainer Orth <r...@cebitec.uni-bielefeld.de> wrote:
>
> Hi Jonathan,
>
> >> > this patch broke Solaris bootstrap, both i386-pc-solaris2.11 and
> >> > sparc-sun-solaris2.11:
> >> >
> >> > In file included from
> >> > /vol/gcc/src/hg/master/local/libstdc++-v3/src/c++20/format.cc:29:
> >> > /var/gcc/regression/master/11.4-gcc/build/i386-pc-solaris2.11/libstdc++-v3/include/format:
> >> > In member function ‘typename std::basic_format_context<_Out,
> >> > _CharT>::iterator std::formatter<__float128,
> >> > _CharT>::format(__float128, std::basic_format_context<_Out, _CharT>&)
> >> > const’:
> >> > /var/gcc/regression/master/11.4-gcc/build/i386-pc-solaris2.11/libstdc++-v3/include/format:2994:41:
> >> > error: ‘__flt128_t’ is not a member of ‘std::__format’; did you mean
> >> > ‘__bflt16_t’? [-Wtemplate-body]
> >> > 2994 |         { return _M_f.format((__format::__flt128_t)__u, __fc); }
> >> >      |                                         ^~~~~~~~~~
> >> >      |                                         __bflt16_t
> >> >
> >> > and one more instance.
> >>
> >> And on x86_64-darwin too.
> >
> > Tomasz, should this be:
> >
> > --- a/libstdc++-v3/include/std/format
> > +++ b/libstdc++-v3/include/std/format
> > @@ -2973,7 +2973,7 @@ namespace __format
> >     };
> > #endif
> >
> > -#if defined(__SIZEOF_FLOAT128__) && _GLIBCXX_FORMAT_F128 != 1
> > +#if defined(__SIZEOF_FLOAT128__) && _GLIBCXX_FORMAT_F128 > 1
> >   // Reuse __formatter_fp<C>::format<__format::__flt128_t, Out> for 
> > __float128.
> >   // This formatter is not declared if
> > _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT is true,
> >   // as __float128 when present is same type as __ieee128, which may be 
> > same as
> >
>
> with this patch applied, I could link libstdc++.so.  I'll run a full
> bootstrap later today.


Good to know, thanks. Tomasz already pushed that change as
r16-647-gd010a39b9e788a
so trunk should be OK now.

Reply via email to