| // Test that we won't write additional information into the Reduced BMI if the |
| // module purview is empty. |
| // RUN: %clang_cc1 -std=c++20 %t/M.cppm -emit-reduced-module-interface -o %t/M.pcm |
| // RUN: %clang_cc1 -std=c++20 %t/A.cppm -emit-reduced-module-interface -o %t/A.pcm \ |
| // RUN: -fmodule-file=M=%t/M.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/A1.cppm -emit-reduced-module-interface -o %t/A1.pcm \ |
| // RUN: -fmodule-file=M=%t/M.pcm |
| // RUN: llvm-bcanalyzer --dump --disable-histogram --show-binary-blobs %t/A1.pcm > %t/A1.dump |
| // RUN: cat %t/A1.dump | FileCheck %t/A1.cppm |
| extern template class A<short>; |
| inline A<int> a() { return A<int>(); } |
| auto _av_2 = _av_<double>; |
| // CHECK-NOT: <DECL_CXX_RECORD |
| // CHECK-NOT: <DECL_UPDATE_OFFSETS |
| // CHECK-NOT: <DECL_CXX_RECORD |
| // CHECK-NOT: <DECL_UPDATE_OFFSETS |