NeKon69 wrote: Hey! I was trying to implement this, but it doesn't seem like the CFG knows that one of the branches does not continue control flow from there
Here's a CFG dump of your example (plus some extra stuff from my side): ``` [B4] 1: cond 2: [B4.1] (ImplicitCastExpr, LValueToRValue, _Bool) T: [B4.2] ? ... : ... Preds (1): B5 Succs (2): B2 B3 True expression reachable: 1 False expression reachable: 1 ``` However, on something simpler it works as expected, such as `int *p = true ? q1 : q2;`. So I'm wondering if I need to modify the CFG logic to check whether the branch expression is a call to a `[[noreturn]]` function, or maybe you want something more general? https://github.com/llvm/llvm-project/pull/190345 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
