================
@@ -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