1// RUN: rm -rf %t
2// RUN: rm -rf %t.mcp
3// RUN: mkdir -p %t
4// RUN: cp -r %S/Inputs/AddRemovePrivate.framework %t/AddRemovePrivate.framework
5
6// Build with module.private.modulemap
7// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify -DP
8// RUN: cp %t.mcp/AddRemovePrivate.pcm %t/with.pcm
9
10// Build without module.private.modulemap
11// RUN: rm %t/AddRemovePrivate.framework/Modules/module.private.modulemap
12// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify
13// RUN: not diff %t.mcp/AddRemovePrivate.pcm %t/with.pcm
14// RUN: cp %t.mcp/AddRemovePrivate.pcm %t/without.pcm
15// RUN: not %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -DP 2>&1 | FileCheck %s
16// CHECK: no submodule named 'Private'
17
18// Build with module.private.modulemap (again)
19// RUN: cp %S/Inputs/AddRemovePrivate.framework/Modules/module.private.modulemap %t/AddRemovePrivate.framework/Modules/module.private.modulemap
20// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify -DP
21// RUN: not diff %t.mcp/AddRemovePrivate.pcm %t/without.pcm
22
23// expected-no-diagnostics
24
25@import AddRemovePrivate;
26#ifdef P
27@import AddRemovePrivate.Private;
28#endif
29