brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · a2e9950 Raw
31 lines · plain
1// Checks that the use of .Private to refer to _Private modules works with an2// explicit module.3 4// RUN: rm -rf %t5// RUN: split-file %s %t6 7// RUN: %clang_cc1 -x objective-c -fmodules -fno-implicit-modules -emit-module -fmodule-name=A %t/module.modulemap -o %t/A.pcm8// RUN: %clang_cc1 -x objective-c -fmodules -fno-implicit-modules -emit-module -fmodule-name=A_Private %t/module.modulemap -o %t/A_Private.pcm9 10// Check lazily-loaded module11// RUN: %clang_cc1 -x objective-c -verify -fmodules -fno-implicit-modules -fmodule-file=A=%t/A.pcm -fmodule-file=A_Private=%t/A_Private.pcm -fsyntax-only %t/tu.m12 13// Check eagerly-loaded module14// RUN: %clang_cc1 -x objective-c -verify -fmodules -fno-implicit-modules -fmodule-file=%t/A.pcm -fmodule-file=%t/A_Private.pcm -fsyntax-only %t/tu.m15 16//--- module.modulemap17module A { header "a.h" }18module A_Private { header "priv.h" }19 20//--- a.h21 22//--- priv.h23void priv(void);24 25//--- tu.m26@import A.Private; // expected-warning{{no submodule named 'Private' in module 'A'; using top level 'A_Private'}}27// expected-note@*:* {{defined here}}28 29void tu(void) {30  priv();31}