Szelethus added a comment.

This checker isn't in alpha -- did you evaluate it on LLVM? Other than that, 
looks great!



================
Comment at: 
clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h:1119
 
-  const T *lookup(const CallEvent &Call) const {
+  Optional<T> lookup(const CallEvent &Call) const {
     // Slow path: linear lookup.
----------------
NoQ wrote:
> Charusso wrote:
> > NoQ wrote:
> > > Charusso wrote:
> > > > Szelethus wrote:
> > > > > Charusso wrote:
> > > > > > NoQ wrote:
> > > > > > > I hope `T` never gets too expensive to copy. The ideal return 
> > > > > > > value here is `Optional<const T &>` but i suspect that 
> > > > > > > `llvm::Optional`s don't support this (while C++17 
> > > > > > > `std::optional`s do). Could you double-check my vague memories 
> > > > > > > here?
> > > > > > Optional<const T *> is working and used widely, I like that.
> > > > > Why do we need the optional AND the pointer? How about we just return 
> > > > > with a nullptr if we fail to find the call?
> > > > `Optional<>` stands for optional values, that is why it is made. @NoQ 
> > > > tried to avoid it, but I believe if someone does not use it for an 
> > > > optional value, that break some kind of unspoken standard.
> > > Well, that'd be the original code.
> > > 
> > > > I do not like `Optional<const T *>` anymore.
> > > 
> > > @Charusso, do you still plan to undo this change?
> > Well, I am here at 2:1 against `Optional<>`, so I think it is your decision.
> I'd rather leave the original code as is and think more deeply about adding 
> support for `Optional<const T &>` in the future.
Are you aware of this thread? 
http://lists.llvm.org/pipermail/cfe-dev/2018-July/058427.html


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

https://reviews.llvm.org/D63915



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

Reply via email to