| // Test that we can handle capturing structured bindings. | |
| // | |
| // RUN: rm -fr %t | |
| // RUN: mkdir %t | |
| // | |
| // RUN: %clang_cc1 -std=c++23 -triple %itanium_abi_triple \ | |
| // RUN: %s -emit-module-interface -o %t/m.pcm | |
| // RUN: %clang_cc1 -std=c++23 -triple %itanium_abi_triple \ | |
| // RUN: -emit-llvm -disable-llvm-passes %t/m.pcm \ | |
| // RUN: -o - | FileCheck %s | |
| export module m; | |
| struct s { | |
| int m; | |
| }; | |
| void f() { | |
| auto [x] = s(); | |
| (void) [x] {}; | |
| } | |
| // Check that we can generate the LLVM IR expectedly. | |
| // CHECK: define{{.*}}@_ZGIW1m |