[clang][dataflow] Add support for `value_or` in a comparison.
authorYitzhak Mandelbaum <yitzhakm@google.com>
Mon, 21 Mar 2022 20:37:04 +0000 (20:37 +0000)
committerYitzhak Mandelbaum <yitzhakm@google.com>
Thu, 31 Mar 2022 13:21:39 +0000 (13:21 +0000)
commit7f076004e941fe60ab613a218da31a25b09b0925
treeaf551842023cbb2880773c223f669569a406d286
parent4a54e3eed347ca2bcb840c52c553892101afd252
[clang][dataflow] Add support for `value_or` in a comparison.

This patch adds limited modeling of the `value_or` method. Specifically, when
used in a particular idiom in a comparison to implicitly check whether the
optional holds a value.

Differential Revision: https://reviews.llvm.org/D122231
clang/lib/Analysis/FlowSensitive/Models/UncheckedOptionalAccessModel.cpp
clang/unittests/Analysis/FlowSensitive/UncheckedOptionalAccessModelTest.cpp