[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Modules / pr72828.cppm
blobcc324bc63429edc90740b29dbb4c9dcdf3a6570a
1 // Test that we can handle capturing structured bindings.
2 //
3 // RUN: rm -fr %t
4 // RUN: mkdir %t
5 //
6 // RUN: %clang_cc1 -std=c++23 -triple %itanium_abi_triple \
7 // RUN:     %s -emit-module-interface -o %t/m.pcm
8 // RUN: %clang_cc1 -std=c++23 -triple %itanium_abi_triple \
9 // RUN:     -emit-llvm -disable-llvm-passes %t/m.pcm \
10 // RUN:     -o - | FileCheck %s
12 export module m;
14 struct s {
15         int m;
18 void f() {
19         auto [x] = s();
20         (void) [x] {};
23 // Check that we can generate the LLVM IR expectedly.
24 // CHECK: define{{.*}}@_ZGIW1m