NoQ added inline comments.

================
Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:11786
+  "%select{"
+    "unsafe operation on raw pointer in expression|"
+    "unsafe arithmetic on raw pointer|"
----------------
NoQ wrote:
> malavikasamak wrote:
> > NoQ wrote:
> > > The first mode doesn't show up in any tests and it's probably dead code 
> > > at this point.
> > What do you think of specifying the variable name in these warnings? It 
> > could be helpful when there are more than one DREs in a statement.  
> These warnings are emitted only when we *cannot* identify the variable; 
> either because it's not there at all, or we don't know how to find it. If we 
> could figure out the variable, we'd be emitting `warn_unsafe_buffer_variable` 
> instead. IIRC, in all of the provided test cases the operand isn't a DRE.
> 
> That said, I totally agree that it's a great idea to try a few other things 
> to point out the specific subexpression, even if we don't connect the warning 
> gadget to a variable. Say, we can try to blame `MemberExpr`s or `CallExpr`s 
> the same way we blame DREs, and include their name in the warning. I'll try a 
> few things real quick and see how bad it gets.
> 
> Note that these are also the things for which we may eventually start 
> providing constructive solutions. Say, an unsafe operation on `CallExpr` can 
> be a reason to autofix the callee to return a `std::span`. So hopefully these 
> warnings will eventually be replaced by better warnings in more and more 
> cases.
Wait nvm, the whole point of this patch is to warn when variable discovery is 
manually turned off! I'm an idiot, this absolutely deserves more effort.


Repository:
  rC Clang

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

https://reviews.llvm.org/D146773

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

Reply via email to