[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / Modules / add-remove-private.m
blob5e7a5a966a4da8fbd533a5719fcbd35821a5154e
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
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 -Wno-private-module
8 // RUN: cp %t.mcp/AddRemovePrivate.pcm %t/with.pcm
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'
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 -Wno-private-module
21 // RUN: not diff %t.mcp/AddRemovePrivate.pcm %t/without.pcm
23 // expected-no-diagnostics
25 @import AddRemovePrivate;
26 #ifdef P
27 @import AddRemovePrivate.Private;
28 #endif