================
@@ -279,7 +281,7 @@ void UseAfterMoveFinder::getDeclRefs(
         if (DeclRef && BlockMap->blockContainingStmt(DeclRef) == Block) {
           // Ignore uses of a standard smart pointer that don't dereference the
           // pointer.
-          if (Operator || !isStandardSmartPointer(DeclRef->getDecl())) {
+          if (Operator || !isStandardResettableOwner(DeclRef->getDecl())) {
----------------
5chmidti wrote:

Yeah, nevermind. The ignored accesses need to be correctly specified. E.g.,

```c++
void sink(int);
void foo(std::optional<int> opt) {
  auto other = std::move(opt);
  sink(opt.value());
}
```

would otherwise be a false negative.

https://github.com/llvm/llvm-project/pull/114255
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to