29 lines · plain
1// Test that adding a new identifier within reduced BMI may not produce a transitive change.2//3// RUN: rm -rf %t4// RUN: split-file %s %t5//6// RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/A.cppm -o %t/A.pcm7// RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/B.cppm -o %t/B.pcm \8// RUN: -fmodule-file=A=%t/A.pcm9//10// RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/A.v1.cppm -o %t/A.v1.pcm11// RUN: %clang_cc1 -std=c++20 -emit-reduced-module-interface %t/B.cppm -o %t/B.v1.pcm \12// RUN: -fmodule-file=A=%t/A.v1.pcm13//14// RUN: diff %t/B.pcm %t/B.v1.pcm &> /dev/null15 16//--- A.cppm17export module A;18export int a();19 20//--- A.v1.cppm21export module A;22export int a();23export int a2();24 25//--- B.cppm26export module B;27import A;28export int b() { return a(); }29