[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Modules / no-local-decl-in-reduced-bmi.cppm
blob41ae2bf0dec8098252d3f43f29dfe2270b7eff7b
1 // Test that we won't record local declarations by default in reduced BMI.
3 // RUN: rm -rf %t
4 // RUN: split-file %s %t
5 // RUN: cd %t
6 //
7 // RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-reduced-module-interface -o %t/a.pcm
8 // RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/a.pcm > %t/a.dump
9 // RUN: cat %t/a.dump | FileCheck %t/a.cppm
11 // RUN: %clang_cc1 -std=c++20 %t/b.cppm -emit-reduced-module-interface -o %t/b.pcm
12 // RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/b.pcm > %t/b.dump
13 // RUN: cat %t/b.dump | FileCheck %t/b.cppm
15 //--- a.cppm
16 export module a;
17 export int func() {
18     int v = 43;
19     return 43;
22 // Test that the variable declaration is not recorded completely.
23 // CHECK-NOT: <DECL_VAR
25 //--- b.cppm
26 export module b;
27 export inline int func() {
28     int v = 43;
29     return v;
32 // Check that we still records the declaration from inline functions.
33 // CHECK: <DECL_VAR