[PATCH] D139544: [clang][dataflow] Add support for structured bindings of tuple-like types.

Domján Dániel via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Thu Dec 8 13:53:38 PST 2022


isuckatcs added a comment.

> the temporary's construction should appear before, but the binding decls, which use the synthetic variables, should appear after

I'm confused a bit here. Right now the CFG looks like this:

  <constructor_call>
  <binding_decl_0>
  ...
  <binding_decl_n>

Based on what you say I assume you want something to happen between `constructor_call` and `binding_decl_0`. 
Could you visualize somehow how you think the ideal CFG here looks like?

> What do you think of duplicating it in the CFG, possibly with a new (statement) element kind (to mark it as a special)? 
> There are other workarounds that we could do on our end, but the duplication would avoid the need for such -- for us and any other clients.

Well, I don't think duplicating a statement in the CFG is a good idea as long as there are other solutions for this problem. This seems to be a
very specific problem, so I think a local solution should be pursued instead if possible. What do you think @xazax.hun  @NoQ ?


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D139544



More information about the cfe-commits mailing list