adriandole added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:7006
+def warn_typecheck_comparison_of_function_pointers : Warning<
+  "comparison of function pointers (%0 and %1)">,
+  InGroup<CompareFunctionPointers>, DefaultIgnore;
----------------
aaron.ballman wrote:
> cjdb wrote:
> > This diagnostic feels very bare bones, and doesn't explain why the user 
> > should care. It would be good to rephrase the message so that it can 
> > incorporate some kind of reason too.
> Agreed -- diagnostic wording is usually trying to tell the user what they did 
> wrong to guide them how to fix it, but this reads more like the diagnostic 
> explains what the code does. This one will be especially interesting because 
> people would naturally expect that comparison to work per the standard. And 
> if enabling ICF breaks that then ICF is non-conforming because it makes valid 
> code silently invalid. I think this is an ICF bug (it may still be worth 
> warning users about though because you can use newer Clang with an older lld 
> and hit the issue even if lld addresses this issue).
> 
> CC @lhames @sbc100 @ruiu in to try to scare up an lld code owner to see if 
> this is known and if there's something that can be done on the lld side to 
> not break valid code.
There's already an ICF option that doesn't break valid code: `-icf=safe`. Only 
if you explicitly decide that you don't care about the results of function 
pointer comparisons would you use `-icf=all`, which enables more code folding 
to be done than the safe option.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D141310

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

Reply via email to