martong added inline comments.

================
Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:396
+  /// yes was the value obtained or not.
+  mutable Optional<Optional<int>> KernelZeroSizePtrValue;
+
----------------
Which one is referred to the lazy initialization? The inner or the outer?
These questions actually made me to come up with a more explanatory construct 
here:
Could we do something like this?
```
using LazyInitialized = Optional<int>;
mutable Optional<LazyInitialized> KernelZeroSizePtrValue; // Or 
Lazy<Optional<...>>
```


================
Comment at: clang/lib/StaticAnalyzer/Checkers/MallocChecker.cpp:1687
+  if (ArgValKnown) {
+    if (!KernelZeroSizePtrValue)
+      KernelZeroSizePtrValue =
----------------
This is a bit confusing for me. Perhaps alternatively we could have a free 
function `isInitialized(KernelZero...)` instead. Or maybe having a separate 
bool variable to indicate whether it was initialized could be cleaner?


================
Comment at: clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp:146
 
   return IntValue.getSExtValue();
 }
----------------
balazske wrote:
> The function was changed to get the numeric value from the end of the macro 
> in any case. This way it recognizes a `(void *)16` as 16 (but maybe `16+16` 
> too as 16).
Ok.


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D76830



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

Reply via email to