xref: /llvm-project/clang/test/Modules/use-extern-language-linkage.cppm (revision 5828692f70bc5f92fad9ed21a1844044924680aa)
1// RUN: rm -rf %t
2// RUN: mkdir -p %t
3// RUN: split-file %s %t
4//
5// RUN: %clang_cc1 -std=c++20 %t/a.cppm -fsyntax-only -verify
6
7//--- foo.h
8extern "C++" void c_func();
9
10//--- a.cppm
11// expected-no-diagnostics
12module;
13#include "foo.h"
14export module a;
15export extern "C++" void foo() {}
16extern "C++" void bar() {}
17export extern "C" void foo_c() {}
18extern "C" void bar_c() {}
19export void a() {
20    foo();
21    bar();
22    foo_c();
23    bar_c();
24    c_func();
25}
26