[clang] Make [[clang::lifetimebound]] work for expressions coming from default arguments (PR #112047)

Boaz Brickner via cfe-commits cfe-commits at lists.llvm.org
Mon Oct 14 23:27:11 PDT 2024


================
@@ -107,6 +107,39 @@ namespace std {
 using std::operator""s;
 using std::operator""sv;
 
+namespace default_args {
+  using IntArray = int[];
+  const int *defaultparam1(const int &def1 [[clang::lifetimebound]] = 0); // #def1
+  const int &defaultparam_array([[clang::lifetimebound]] const int *p = IntArray{1, 2, 3}); // #def2
+  struct A {
+    A(const char*, const int& def3 [[clang::lifetimebound]] = 0); // #def3
----------------
bricknerb wrote:

Missing space before * and & to be consistent with the rest of the code.

https://github.com/llvm/llvm-project/pull/112047


More information about the cfe-commits mailing list