On Sun, Jul 10, 2016 at 11:20 AM, Andrew Sutton <andrew.n.sut...@gmail.com> wrote: > I just tried building a fresh pull of cmcstl2, and I'm not seeing any > errors as a result of not handling those missing codes in > tsubst_constraint. At one point, I think it was not possible to get > those other constraints in this context because they were nested in a > parm_constr. But that seems obviously untrue now. But still... that > gcc_unreachable isn't being triggered by any code in cmcstl.
The only one that was triggered by cmcstl was EXPR_CONSTR, and then only for a member; if you comment out the EXPR_CONSTR case that I added to tsubst_constraint, this test will ICE. struct B { template <class T> void f(T t) requires requires (T tt) { tt; } { } }; int main() { B().f(42); } Jason