[clang] [clang][dataflow] Refactor `widen` API to be explicit about change effect. (PR #87233)
via cfe-commits
cfe-commits at lists.llvm.org
Tue Apr 2 04:23:04 PDT 2024
================
@@ -975,6 +989,35 @@ TEST_F(WideningTest, DistinctValuesWithSamePropertiesAreEquivalent) {
});
}
+TEST_F(WideningTest, DistinctValuesWithDifferentPropertiesWidenedToTop) {
+ std::string Code = R"(
+ void target(bool Cond) {
+ int *Foo;
+ int i = 0;
+ Foo = nullptr;
+ while (Cond) {
+ Foo = &i;
+ }
+ (void)0;
+ /*[[p]]*/
+ }
+ )";
+ runDataflow(
+ Code,
+ [](const llvm::StringMap<DataflowAnalysisState<NoopLattice>> &Results,
+ ASTContext &ASTCtx) {
+ const Environment &Env = getEnvironmentAtAnnotation(Results, "p");
+
+ const ValueDecl *FooDecl = findValueDecl(ASTCtx, "Foo");
+ ASSERT_THAT(FooDecl, NotNull());
+
----------------
martinboehme wrote:
```suggestion
```
`getValueForDecl()` asserts that the declaration exists.
https://github.com/llvm/llvm-project/pull/87233
More information about the cfe-commits
mailing list