xref: /llvm-project/clang/test/CodeGenCXX/cxx20-module-part-1c.cpp (revision ae4dce8659f313ca2034782583d31993212fa8bd)
1*ae4dce86SNathan Sidwell // RUN: %clang_cc1 -std=c++20 %S/cxx20-module-part-1a.cpp -triple %itanium_abi_triple -emit-module-interface -o %t-inter
2*ae4dce86SNathan Sidwell // RUN: %clang_cc1 -std=c++20 %S/cxx20-module-part-1b.cpp -triple %itanium_abi_triple -emit-module-interface -o %t-impl
3*ae4dce86SNathan Sidwell // RUN: %clang_cc1 -std=c++20 %s -triple %itanium_abi_triple -fmodule-file=Foo:inter=%t-inter -fmodule-file=Foo:impl=%t-impl -emit-llvm -o - | FileCheck %s
4*ae4dce86SNathan Sidwell export module Foo;
5*ae4dce86SNathan Sidwell export import :inter;
6*ae4dce86SNathan Sidwell import :impl;
7*ae4dce86SNathan Sidwell 
Wrap()8*ae4dce86SNathan Sidwell void Wrap() {
9*ae4dce86SNathan Sidwell   // CHECK: call void @_ZW3Foo4Frobv()
10*ae4dce86SNathan Sidwell   Frob();
11*ae4dce86SNathan Sidwell   // CHECK: call void @_ZW3Foo4Quuxv()
12*ae4dce86SNathan Sidwell   Quux();
13*ae4dce86SNathan Sidwell }
14