[libcxx-commits] [PATCH] D108250: [libc++][spaceship] Implement std::tuple::operator<=>

Kent Ross via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Sep 24 15:19:04 PDT 2021


mumbleskates marked an inline comment as done.
mumbleskates added inline comments.


================
Comment at: libcxx/test/std/library/description/conventions/expos.only.func/synth_three_way.pass.cpp:1
+//===----------------------------------------------------------------------===//
+//
----------------
Mordante wrote:
> mumbleskates wrote:
> > mumbleskates wrote:
> > > Well, this file reproducibly causes g++-11 to segfault at compile time. fantastic
> > The following minimal file causes g++-11 to segfault:
> > 
> > ```
> > #include <tuple>
> > 
> > int main(int, char**) {
> >   auto t = std::tuple(1);
> >   return 0;
> > }
> > ```
> > ...basically it seems that g++-11 segfaults any time you try to do class template deduction with std::tuple at all.
> Alternatively you add a `UNSUPPORTED: gcc-11`. Then it would be nice if you file a bug report for GCC and add a comment with the bug number.
I worked around it and kind of like the result a little better, rewriting it into a single implementation just called `synth_three_way` that does the tuple thing and then using that.

The CI failure is once again our windows-dll testing host with "No space left on device"; I managed to get and submit the to the GCC tracker as well.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D108250/new/

https://reviews.llvm.org/D108250



More information about the libcxx-commits mailing list