tbaeder added inline comments.

================
Comment at: clang/lib/Analysis/CFG.cpp:1945
+      auto DRE =
+          DeclRefExpr::Create(*Context, {}, {}, VD, false, SourceLocation(),
+                              VD->getType(), VK_PRValue);
----------------
NoQ wrote:
> Is there a way to attach some valid source locations here, like the source 
> location of the attribute's identifier argument?
> 
> I'm worried that the static analyzer may be unable to consume the CFG without 
> them, it typically requires source locations for almost arbitrary statements. 
> I'm still not sure how it'll react to synthetic statements, maybe turning 
> them into a custom `CFGElement` subclass (like destructors) would be safer as 
> it'll let all clients of the CFG to treat these in a custom manner. Otherwise 
> it makes it look like a completely normal call-expression to the clients, 
> which is not necessarily a good thing.
Look like I can't query the attribute for any locations except its entire 
range; I can also just pass `VD->getLocation()` to all locations here.

I thought doing this without creating fake AST nodes is better as well but I 
wasn't sure how to do that properly, or if I have to update all consumers of 
the CFG.


================
Comment at: clang/lib/Analysis/CFG.cpp:1951-1952
+
+      SmallVector<Expr *> Args;
+      Args.push_back(DRE);
+      auto A = CallExpr::Create(*Context, F, Args, FD->getType(), VK_PRValue,
----------------
NoQ wrote:
> Shouldn't there be a unary operator `&` here somewhere? In your example the 
> variable is `int` but the function accepts `int *`.
Hm, I think you are right, but it doesn't make difference for the CFG (at least 
not for thread anysis), does it? Is there a way for me to test that I pass the 
right parameter value?


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

https://reviews.llvm.org/D152504

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

Reply via email to