[PATCH] D42192: [analyzer] Assume that the allocated value is non-null before construction, not after.

George Karpenkov via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 17 11:45:55 PST 2018


george.karpenkov added inline comments.


================
Comment at: lib/StaticAnalyzer/Core/ExprEngineCXX.cpp:514
+      QualType Ty = FD->getType();
+      if (const FunctionProtoType *ProtoType = Ty->getAs<FunctionProtoType>())
+        if (!ProtoType->isNothrow(getContext()))
----------------
auto?


================
Comment at: lib/StaticAnalyzer/Core/ExprEngineCXX.cpp:516
+        if (!ProtoType->isNothrow(getContext()))
+          State = State->assume(RetVal.castAs<DefinedOrUnknownSVal>(), true);
+    }
----------------
This is neither here nor there, but for this and many other cases I think we could be considerably more readable by defining helpers `State->assumeIsTrue` and `State->assumeIsFalse` (or `assumeNonNull`, or whatever is most descriptive)


Repository:
  rC Clang

https://reviews.llvm.org/D42192





More information about the cfe-commits mailing list