[clang] [clang] Implement lifetime analysis for lifetime_capture_by(X) (PR #115921)
Boaz Brickner via cfe-commits
cfe-commits at lists.llvm.org
Thu Nov 14 05:48:57 PST 2024
================
@@ -793,3 +806,202 @@ void test13() {
}
} // namespace GH100526
+
+namespace lifetime_capture_by {
+struct X {
+ const int *x;
+ void captureInt(const int& x [[clang::lifetime_capture_by(this)]]) { this->x = &x; }
+ void captureSV(std::string_view sv [[clang::lifetime_capture_by(this)]]);
+};
+///////////////////////////
+// Detect dangling cases.
+///////////////////////////
+void captureInt(const int& i [[clang::lifetime_capture_by(x)]], X& x);
----------------
bricknerb wrote:
We typically put the space before the '&', like in line 732 or other places.
https://github.com/llvm/llvm-project/pull/115921
More information about the cfe-commits
mailing list