36 lines · cpp
1// RUN: rm -rf %t2// RUN: %clang_cc1 -x c++ -fmodules -fmodules-local-submodule-visibility -fmodules-cache-path=%t %s -verify3// RUN: %clang_cc1 -x c++ -fmodules -fmodules-cache-path=%t %s -verify4 5// expected-no-diagnostics6 7#pragma clang module build A8 module A { }9#pragma clang module contents10#pragma clang module begin A11struct A {12 virtual void Foo(double x) const;13};14#pragma clang module end15#pragma clang module endbuild16 17#pragma clang module build B18 module B { }19#pragma clang module contents20#pragma clang module begin B21#pragma clang module import A22struct B : A {23 using A::Foo;24 virtual void Foo(double x) const;25};26#pragma clang module end27#pragma clang module endbuild28 29#pragma clang module import B30 31int main() {32 B b;33 b.Foo(1.0);34}35 36