[libcxx-commits] [PATCH] D96385: [libc++] [P1032] Finish constexpr-ifying <iterator>, <string_view>, <tuple>, <utility>.

Arthur O'Dwyer via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Fri Mar 26 18:34:54 PDT 2021

Quuxplusone added a comment.

Hi @vvereschaka, I've been working on reducing the Clang bug using creduce, but I made the mistake of not checking the exact assertion message in the interestingness check, and apparently assertion failures in debug mode are a dime a dozen. :) I've filed https://bugs.llvm.org/show_bug.cgi?id=49734 so far, and may file more if I can convince creduce to show me where they are.

The specific bug being triggered here is definitely https://bugs.llvm.org/show_bug.cgi?id=45879 , and I have just added a comment over there. Unfortunately it seems to have existed since May of last year, so a "quick fix" might not be likely. This seems like a no-win situation:

- libc++ is supposed to work on Clang version X.Y
- libc++ is //also// supposed to support C++20 constexpr tuple
- constexpr tuple crashes Clang version X.Y (for now)
- I don't think we're able to completely change how we implement tuple in order to work around the bug

@ldionne, what do you think? I'm thinking either "revert until we have a fix" — but that could be forever, there doesn't seem like any good option here — or "just `UNSUPPORTED:` this one test."
Is there an annotation like "UNSUPPORTED: clang-trunk"? 😛 Or if there's a way for `#ifdef` to tell that the compiler is Clang //compiled in debug mode//, that would be even cooler; we could skip just the failing part of the test, just in debug mode.

  rG LLVM Github Monorepo



More information about the libcxx-commits mailing list