On Tue, 1 Dec 2020 at 21:10, Jonathan Wakely <jwakely....@gmail.com> wrote:
>
> On Tue, 1 Dec 2020 at 19:13, Michael Meissner via Libstdc++
> <libstd...@gcc.gnu.org> wrote:
> >
> > On Tue, Dec 01, 2020 at 04:04:30PM +0000, Jonathan Wakely wrote:
> > > On 01/12/20 15:10 +0000, Jonathan Wakely wrote:
> > > >On 30/11/20 16:30 -0500, Michael Meissner via Libstdc++ wrote:
> > > >>Jonathan, could you send a fresh set of patches (or at least 
> > > >>replacements)?  I
> > > >>tried installing the patches on a master branch I checked out this 
> > > >>morning, and
> > > >>I got two rejects:
> > > >
> > > >I don't understand why those chunks failed, but I'll rebase and send a
> > > >new patch ASAP.
> > >
> > > Here's the rebased patch, with regenerated autoconf files and a fix
> > > for the <ext/numeric_limits.h> header. I'd changed it since sending
> > > the previous patch, and broke the "there's more than one long double"
> > > case (i.e. the _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT case).
> >
> > Unfortunately this patch DOES NOT work at all.
> >
> > If I build a compiler with the configure option:
> >         --with-long-double-format=ieee
> >
> > And I compile this simple program:
> >
> >         #include <iostream>
> >
> >         int main(int argc, char *argv[], char *envp[])
> >         {
> >           std::cout << "Hello World!\n";
> >           return 0;
> >         }
> >
> > I get all of these errors:
>
> It works fine for me (see below). I think your symptoms are due to
> using a glibc that doesn't support the new long double, and so
> libstdc++ support for it is also disabled. You need at least glibc
> 2.32 for the libstdc++ changes to be enabled.

I should improve the failure mode (maybe refuse to compile anything
using the C++ library headers if __LONG_DOUBLE_IEEE128__ is defined
and __ieee128 support was disabled due to the missing glibc
dependency) but that hasn't been a priority. Making the C++ library
support __ieee128 on a machine that doesn't even have libc support for
it isn't possible, so I didn't spend time on that use case. It doesn't
work, and it's not going to work.

Reply via email to