[clang] [Clang][CWG1815] Support lifetime extension of temporary created by aggregate initialization using a default member initializer (PR #87933)
via cfe-commits
cfe-commits at lists.llvm.org
Tue May 7 09:17:15 PDT 2024
================
@@ -269,6 +269,26 @@ void init_capture_init_list() {
// CHECK: }
}
+void check_dr1815() { // dr1815: yes
+#if __cplusplus >= 201402L
+
+ struct A {
+ int &&r = 0;
+ ~A() {}
+ };
+
+ struct B {
+ A &&a = A{};
+ ~B() {}
+ };
+
+ // CHECK: void @_Z12check_dr1815v()
+ // CHECK: call void @_ZZ12check_dr1815vEN1BD1Ev(
+ // CHECK: call void @_ZZ12check_dr1815vEN1AD1Ev(
+ B a = {};
----------------
yronglin wrote:
Agree
https://github.com/llvm/llvm-project/pull/87933
More information about the cfe-commits
mailing list