================
@@ -407,49 +455,72 @@ void Invalidate1Use1IsInvalid() {
   s.strings1.push_back("1");
   *it;
 }
-void Invalidate1Use2IsOk() {
+void Invalidate2Use1IsOk() {
     S s;
     auto it = s.strings1.begin();
     s.strings2.push_back("1");
     *it;
-}void Invalidate1Use2ViaRefIsOk() {
+}
+// FIXME: Requires field-sensitive AccessPaths to fix.
----------------
usx95 wrote:

Could you please bring back `ConditionalContainerInvalidatesIterator` and 
`ConditionalFieldInvalidationIsOk` as a FIXME tests.

> ConditionalFieldInvalidationIsOk

```cpp
void ConditionalFieldInvalidationIsOk(bool flag) {
    S s;
    auto it = s.strings1.begin();
    (flag ? s.strings1 : s.strings2).push_back("1");
    *it;
}
​```

Btw, this is should be an error because `s.strings1` can end invalidating `it`.

https://github.com/llvm/llvm-project/pull/197873
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to