ymandel marked an inline comment as done.
ymandel added a comment.

In D140694#4026244 <https://reviews.llvm.org/D140694#4026244>, @xazax.hun wrote:

> This is a big improvement, I skimmed through it and looks good to me. There 
> might be some sneaky ways to change values of fields without mentioning them, 
> e.g., casting a pointer to a struct to an array of chars. But I think 
> reasoning about those scenarios is probably not something we want to model 
> anytime soon.

Thanks!

> Another pesky scenario when we are not doing context sensitive analysis:
>
>   int* pointsToField = getField(myObj);
>
> But this can be handled correctly in a conservative way buy treating `myObj' 
> as escaped. Overall, I dont anticipate any blockers at the moment.

Agreed. I think any other field access either falls into 1) we don't handle it 
soundly anyhow or 2) a conservative analysis will rule it out.



================
Comment at: 
clang/include/clang/Analysis/FlowSensitive/DataflowAnalysisContext.h:267
 
+  void addFieldsReferencedInScope(llvm::DenseSet<const FieldDecl *> Fields);
+
----------------
xazax.hun wrote:
> Is there any scenario where check authors might invoke this function? If no, 
> I wonder if it would be better to make this private and make Environment a 
> friend of this class. Keeping the number of public methods minimal could be a 
> great service to future check authors.
Good point. Done.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D140694

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

Reply via email to