Author: Sam Estep
Date: 2022-06-10T19:10:20Z
New Revision: a9ad689e352dd1037f947dacc7d01c091b67e00c

URL: 
https://github.com/llvm/llvm-project/commit/a9ad689e352dd1037f947dacc7d01c091b67e00c
DIFF: 
https://github.com/llvm/llvm-project/commit/a9ad689e352dd1037f947dacc7d01c091b67e00c.diff

LOG: [clang][dataflow] Don't `assert` full LHS coverage in `optional` model

Followup to D127434.

Reviewed By: ymandel, sgatev

Differential Revision: https://reviews.llvm.org/D127502

Added: 
    

Modified: 
    clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp

Removed: 
    


################################################################################
diff  --git 
a/clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp 
b/clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
index 993d56e44a87d..f837fe31c6cd8 100644
--- a/clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
+++ b/clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
@@ -450,7 +450,8 @@ void transferAssignment(const CXXOperatorCallExpr *E, 
BoolValue &HasValueVal,
 
   auto *OptionalLoc =
       State.Env.getStorageLocation(*E->getArg(0), SkipPast::Reference);
-  assert(OptionalLoc != nullptr);
+  if (OptionalLoc == nullptr)
+    return;
 
   State.Env.setValue(*OptionalLoc, createOptionalValue(State.Env, 
HasValueVal));
 


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

Reply via email to