iitianpushkar wrote:

Hey @Xazax-hun @NeKon69, I have updated the patch with the suggested changes. 
Please review it once.
Note : 1 check is failing but unrelated to this pr. Maybe some infra side issue.

Summary of the current design:

- `getFunctionCallInfo(Call)` centralizes callee + argument extraction for 
calls, constructors, member calls, and operator calls. For instance member 
calls, the implicit object argument is represented as argument 0.
- `getTrackedArgInfo(FD, Args, I)` is the single shared place that decides 
whether an argument is tracked for Lifetime Safety.
- `getTrackingInfoForCallArg(Call, Source)` is diagnostic-side glue: reporting 
has alias-chain expressions rather than the original argument index, so this 
helper finds the matching argument and then calls `getTrackedArgInfo`.

`getTrackedArgInfo` now distinguishes:

- explicit `lifetimebound`
- inferred/heuristic lifetimebound-style tracking
- not tracked

For explicit cases, the note says:

- `because parameter 'x' is marked 'lifetimebound'`
- `because the implicit object parameter is marked 'lifetimebound'`

For inferred cases, the note says:

- `because parameter 'x' is inferred as lifetimebound`
- `because the implicit object parameter is inferred as lifetimebound`

https://github.com/llvm/llvm-project/pull/206337
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to