// 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