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

--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> ---
I'll comment on github too, but I think the problem is that you're using
-DCMAKE_CXX_STANDARD=20

It looks to me like LLVM's iterator facade is completely incompatible with
C++20. The operator overloads like operator- and operator+ should be
constrained using 

requires BaseT::IsRandomAccess and operator-- should be constrained with
requires BaseT::IsBirectional

If the facade provides those operators, then obviously the iterator is going to
look like it supports those operations when concepts like
std::random_access_iterator are checked.

So until LLVM is made C++20-compatible, don't try to build it as C++20.

Reply via email to