ankurrj7 wrote: Retracting this PR.
After further review, this approach is too narrow for the coverage issue I am trying to solve in large codebases. The patch only handles sink calls that Clang can prove while compiling a single translation unit, for example when the callee body is visible and the CFG shows that it cannot reach a normal exit. That helps same-TU wrapper chains and infinite loops, but it does not solve the more important case where the sink is hidden behind a cross-translation-unit call chain such as: ```text file1: f1() -> file2: f2() -> file3: f3() -> file4: exit() ``` Without visible bodies or propagated `noreturn` annotations, Clang coverage mapping cannot prove that `f1()` does not return when compiling `file1`, so this PR would still leave the large-codebase behavior unresolved. The better direction is likely a broader coverage-mapping/counter-placement design that gives the continuation after calls its own runtime count, closer to CFG/basic-block coverage behavior, rather than relying only on frontend-local sink inference. Closing this PR for now rather than landing a partial fix that does not address the main use case. https://github.com/llvm/llvm-project/pull/200190 _______________________________________________ cfe-commits mailing list [email protected] https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
