efriedma added a comment.

I'm concerned about the potential for false positives:

- If a user doesn't mark a function noreturn, but it doesn't actually ever 
return.
- A function is conditionally broken, but the condition is never actually true 
(for example, jump threading creates a dead codepath).
- A function might actually be unconditionally broken, but it doesn't matter 
because it never actually gets called.  This can easily happen with C++ 
templates, or an "outlining" optimization on LLVM IR.

For some of these situations, there are somewhat straightforward workarounds we 
can suggest for users... but in some cases, there aren't.  I really don't want 
to to implement warnings where the best suggestion we can make to fix the 
warning is "Try refactoring your code; it might go away".


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D146466

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

Reply via email to