riccibruno added a comment.

> I'm not certain I understand, but I'm removing my LG while we figure it out. 
> Can you expound a bit further?

Take a look at the AST dump of a small modification of the reduced test case 
which doesn't trigger the assertion:

  void should_not_crash_with_switch_in_lambda() {
    switch (1)
    default:;
    auto f = [] {
      switch (1)
      default:;
    };
  }

Before the serialization of `LambdaExpr` for the `LambdaExpr *E`, we have 
`E->getBody() == E->getCallOperator()->getBody()`.
After serialization this is not true anymore because we are writing and reading 
the body directly when visiting the `LambdaExpr`
(the captures have the same problem).


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D82940



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to