xref: /minix3/external/bsd/llvm/dist/clang/test/Modules/wildcard-submodule-exports.cpp (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc // RUN: rm -rf %t
2*f4a2713aSLionel Sambuc // RUN: %clang_cc1 -x objective-c++ -fmodules-cache-path=%t -fmodules -I %S/Inputs/wildcard-submodule-exports %s -verify
3*f4a2713aSLionel Sambuc // FIXME: When we have a syntax for modules in C++, use that.
4*f4a2713aSLionel Sambuc 
5*f4a2713aSLionel Sambuc @import C.One;
6*f4a2713aSLionel Sambuc 
test_C_One()7*f4a2713aSLionel Sambuc void test_C_One() {
8*f4a2713aSLionel Sambuc   int *A1_ptr = A1;
9*f4a2713aSLionel Sambuc   long *C1_ptr = C1;
10*f4a2713aSLionel Sambuc   (void)B1; // expected-error{{use of undeclared identifier 'B1'}}
11*f4a2713aSLionel Sambuc }
12*f4a2713aSLionel Sambuc 
13*f4a2713aSLionel Sambuc @import C.Two;
14*f4a2713aSLionel Sambuc 
test_C_Two()15*f4a2713aSLionel Sambuc void test_C_Two() {
16*f4a2713aSLionel Sambuc   unsigned int *A2_ptr = A2;
17*f4a2713aSLionel Sambuc   unsigned short *B2_ptr = B2;
18*f4a2713aSLionel Sambuc   unsigned long *C2_ptr = C2;
19*f4a2713aSLionel Sambuc }
20*f4a2713aSLionel Sambuc 
21*f4a2713aSLionel Sambuc @import B.One;
22*f4a2713aSLionel Sambuc 
test_B_One()23*f4a2713aSLionel Sambuc void test_B_One() {
24*f4a2713aSLionel Sambuc   short *B1_ptr = B1;
25*f4a2713aSLionel Sambuc }
26*f4a2713aSLionel Sambuc 
27