================
@@ -87,7 +87,6 @@ class SomeClass {
}
void [[clang::annotate_type("webkit.nodelete")]]
swapObj(RefPtr<RefCountable>&& obj) {
- // expected-warning@-1{{A function 'swapObj' has
[[clang::annotate_type("webkit.nodelete")]] but it contains code that could
destruct an object}}
m_obj.swap(obj);
}
----------------
rniwa wrote:
This is a rather confusing case but I think we treat `swap` as trivial in this
case because it's just doing a bunch of pointer manipulations. Assignment of
pointer member variables, etc... are trivial so long as we don't generate a
code to call `deref()` with `delete this` in it with a non-trivial destructor.
https://github.com/llvm/llvm-project/pull/181576
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits