llvm-project/clang/test/Modules/no-local-decl-in-reduced-bmi.cppm
Chuanqi Xu 2cbd1bc830 Revert "[C++20] [Modules] Embed all source files for C++20 Modules (#102444)"
This reverts commit 2eeeff842f993a694159183a2834b4d305549cad.

See the post commit discussion in
2eeeff842f
2024-09-03 10:54:20 +08:00

34 lines
933 B
C++

// Test that we won't record local declarations by default in reduced BMI.
// RUN: rm -rf %t
// RUN: split-file %s %t
// RUN: cd %t
//
// RUN: %clang_cc1 -std=c++20 %t/a.cppm -emit-reduced-module-interface -o %t/a.pcm
// RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/a.pcm > %t/a.dump
// RUN: cat %t/a.dump | FileCheck %t/a.cppm
//
// RUN: %clang_cc1 -std=c++20 %t/b.cppm -emit-reduced-module-interface -o %t/b.pcm
// RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/b.pcm > %t/b.dump
// RUN: cat %t/b.dump | FileCheck %t/b.cppm
//--- a.cppm
export module a;
export int func() {
int v = 43;
return 43;
}
// Test that the variable declaration is not recorded completely.
// CHECK-NOT: <DECL_VAR
//--- b.cppm
export module b;
export inline int func() {
int v = 43;
return v;
}
// Check that we still records the declaration from inline functions.
// CHECK: <DECL_VAR