| // Tests that the declaration won't get emitted after being merged. |
| // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/A.cppm -emit-module-interface -o %t/A.pcm |
| // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/B.cppm -emit-module-interface -o %t/B.pcm \ |
| // RUN: -fprebuilt-module-path=%t |
| // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/B.pcm -emit-llvm -o - \ |
| // RUN: -fprebuilt-module-path=%t | FileCheck %t/B.cppm |
| // Test again with reduced BMI. Note that we need to generate full BMI for B.cppm |
| // since it is required to generate backend codes. |
| // RUN: rm %t/A.pcm %t/B.pcm |
| // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/A.cppm -emit-reduced-module-interface -o %t/A.pcm |
| // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/B.cppm -emit-module-interface -o %t/B.pcm \ |
| // RUN: -fprebuilt-module-path=%t |
| // RUN: %clang_cc1 -std=c++20 -triple %itanium_abi_triple %t/B.pcm -emit-llvm -o - \ |
| // RUN: -fprebuilt-module-path=%t | FileCheck %t/B.cppm |
| T GetValue() { return value; } |
| // CHECK-NOT: define{{.*}}@_ZN3fooIiE8GetValueEv |