diff options
| author | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2017-12-22 02:53:30 +0000 |
|---|---|---|
| committer | Bruno Cardoso Lopes <bruno.cardoso@gmail.com> | 2017-12-22 02:53:30 +0000 |
| commit | 2972991969b6841b361085d8c0dd0b964ebfd04f (patch) | |
| tree | 772acc3f7a74cae4e3732a2d5b0d62c7c1c7cfa5 /clang/test/Modules | |
| parent | 67885f5d582ade8fc8ba8569e41666b2aeb81b5c (diff) | |
| download | bcm5719-llvm-2972991969b6841b361085d8c0dd0b964ebfd04f.tar.gz bcm5719-llvm-2972991969b6841b361085d8c0dd0b964ebfd04f.zip | |
[Modules] Change private modules rules and warnings
We used to advertise private modules to be declared as submodules
(Foo.Private). This has proven to not scale well since private headers
might carry several dependencies, introducing unwanted content into the
main module and often causing dep cycles.
Change the canonical way to name it to Foo_Private, forcing private
modules as top level ones, and provide warnings under -Wprivate-module
to suggest fixes for other private naming. Update documentation to
reflect that.
rdar://problem/31173501
llvm-svn: 321337
Diffstat (limited to 'clang/test/Modules')
25 files changed, 122 insertions, 29 deletions
diff --git a/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Headers/a.h b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Headers/a.h new file mode 100644 index 00000000000..8b4b1987450 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Headers/a.h @@ -0,0 +1 @@ +extern int APUBLIC; diff --git a/clang/test/Modules/Inputs/implicit-private-with-different-name/A.framework/Headers/aprivate.h b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Headers/aprivate.h index 760d901aa36..760d901aa36 100644 --- a/clang/test/Modules/Inputs/implicit-private-with-different-name/A.framework/Headers/aprivate.h +++ b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Headers/aprivate.h diff --git a/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Modules/module.modulemap b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Modules/module.modulemap new file mode 100644 index 00000000000..95eabf90a96 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Modules/module.modulemap @@ -0,0 +1,4 @@ +framework module A { + header "a.h" + export * +} diff --git a/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Modules/module.private.modulemap b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Modules/module.private.modulemap new file mode 100644 index 00000000000..a7606f9c14b --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/Modules/module.private.modulemap @@ -0,0 +1,4 @@ +framework module A_Private { + header "aprivate.h" + export * +} diff --git a/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/PrivateHeaders/aprivate.h b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/PrivateHeaders/aprivate.h new file mode 100644 index 00000000000..760d901aa36 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-canonical/A.framework/PrivateHeaders/aprivate.h @@ -0,0 +1 @@ +extern int APRIVATE; diff --git a/clang/test/Modules/Inputs/implicit-private-with-different-name/A.framework/PrivateHeaders/aprivate.h b/clang/test/Modules/Inputs/implicit-private-with-different-name/A.framework/PrivateHeaders/aprivate.h new file mode 100644 index 00000000000..760d901aa36 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-with-different-name/A.framework/PrivateHeaders/aprivate.h @@ -0,0 +1 @@ +extern int APRIVATE; diff --git a/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Headers/a.h b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Headers/a.h new file mode 100644 index 00000000000..8b4b1987450 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Headers/a.h @@ -0,0 +1 @@ +extern int APUBLIC; diff --git a/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Headers/aprivate.h b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Headers/aprivate.h new file mode 100644 index 00000000000..760d901aa36 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Headers/aprivate.h @@ -0,0 +1 @@ +extern int APRIVATE; diff --git a/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Modules/module.modulemap b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Modules/module.modulemap new file mode 100644 index 00000000000..95eabf90a96 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Modules/module.modulemap @@ -0,0 +1,4 @@ +framework module A { + header "a.h" + export * +} diff --git a/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Modules/module.private.modulemap b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Modules/module.private.modulemap new file mode 100644 index 00000000000..40182969f4c --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/Modules/module.private.modulemap @@ -0,0 +1,4 @@ +framework module A.Private { + header "aprivate.h" + export * +} diff --git a/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/PrivateHeaders/aprivate.h b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/PrivateHeaders/aprivate.h new file mode 100644 index 00000000000..760d901aa36 --- /dev/null +++ b/clang/test/Modules/Inputs/implicit-private-with-submodule/A.framework/PrivateHeaders/aprivate.h @@ -0,0 +1 @@ +extern int APRIVATE; diff --git a/clang/test/Modules/add-remove-private.m b/clang/test/Modules/add-remove-private.m index dc73a096c80..5e7a5a966a4 100644 --- a/clang/test/Modules/add-remove-private.m +++ b/clang/test/Modules/add-remove-private.m @@ -4,7 +4,7 @@ // RUN: cp -r %S/Inputs/AddRemovePrivate.framework %t/AddRemovePrivate.framework // Build with module.private.modulemap -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify -DP +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify -DP -Wno-private-module // RUN: cp %t.mcp/AddRemovePrivate.pcm %t/with.pcm // Build without module.private.modulemap @@ -17,7 +17,7 @@ // Build with module.private.modulemap (again) // RUN: cp %S/Inputs/AddRemovePrivate.framework/Modules/module.private.modulemap %t/AddRemovePrivate.framework/Modules/module.private.modulemap -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify -DP +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.mcp -fdisable-module-hash -F %t %s -verify -DP -Wno-private-module // RUN: not diff %t.mcp/AddRemovePrivate.pcm %t/without.pcm // expected-no-diagnostics diff --git a/clang/test/Modules/auto-module-import.m b/clang/test/Modules/auto-module-import.m index 9a34c92eab2..f6127adcbd8 100644 --- a/clang/test/Modules/auto-module-import.m +++ b/clang/test/Modules/auto-module-import.m @@ -1,7 +1,7 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify -DERRORS -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -xobjective-c++ %s -verify +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify -DERRORS +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -xobjective-c++ %s -verify // // Test both with and without the declarations that refer to unimported // entities. For error recovery, those cases implicitly trigger an import. diff --git a/clang/test/Modules/global_index.m b/clang/test/Modules/global_index.m index 64a70f2a43f..e94c69ac3c1 100644 --- a/clang/test/Modules/global_index.m +++ b/clang/test/Modules/global_index.m @@ -1,12 +1,12 @@ // RUN: rm -rf %t // Run without global module index -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fdisable-module-hash -fmodules -fimplicit-module-maps -fno-modules-global-index -F %S/Inputs %s -verify +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fdisable-module-hash -fmodules -fimplicit-module-maps -fno-modules-global-index -F %S/Inputs %s -verify // RUN: ls %t|not grep modules.idx // Run and create the global module index -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fdisable-module-hash -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fdisable-module-hash -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify // RUN: ls %t|grep modules.idx // Run and use the global module index -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fdisable-module-hash -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify -print-stats 2>&1 | FileCheck %s +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fdisable-module-hash -fmodules -fimplicit-module-maps -F %S/Inputs %s -verify -print-stats 2>&1 | FileCheck %s // expected-no-diagnostics @import DependsOnModule; diff --git a/clang/test/Modules/implicit-private-canonical.m b/clang/test/Modules/implicit-private-canonical.m new file mode 100644 index 00000000000..96b6c4a3464 --- /dev/null +++ b/clang/test/Modules/implicit-private-canonical.m @@ -0,0 +1,35 @@ +// RUN: rm -rf %t +// Build PCH using A, with adjacent private module APrivate, which winds up being implicitly referenced +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-canonical -emit-pch -o %t-A.pch %s -Wprivate-module -DNO_AT_IMPORT +// Use the PCH with no explicit way to resolve APrivate, still pick it up by automatic second-chance search for "A" with "Private" appended +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-canonical -include-pch %t-A.pch %s -fsyntax-only -Wprivate-module -DNO_AT_IMPORT + +// RUN: rm -rf %t +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-canonical -emit-pch -o %t-A.pch %s -Wprivate-module -DUSE_AT_IMPORT_PRIV +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-canonical -include-pch %t-A.pch %s -fsyntax-only -Wprivate-module -DUSE_AT_IMPORT_PRIV + +// RUN: rm -rf %t +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-canonical -emit-pch -o %t-A.pch %s -Wprivate-module -DUSE_AT_IMPORT_BOTH +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-canonical -include-pch %t-A.pch %s -fsyntax-only -Wprivate-module -DUSE_AT_IMPORT_BOTH + +// expected-no-diagnostics + +#ifndef HEADER +#define HEADER + +#ifdef NO_AT_IMPORT +#import "A/aprivate.h" +#endif + +#ifdef USE_AT_IMPORT_PRIV +@import A_Private; +#endif + +#ifdef USE_AT_IMPORT_BOTH +@import A; +@import A_Private; +#endif + +const int *y = &APRIVATE; + +#endif diff --git a/clang/test/Modules/implicit-private-with-different-name.m b/clang/test/Modules/implicit-private-with-different-name.m index c09d3979c3e..7ee84539bf3 100644 --- a/clang/test/Modules/implicit-private-with-different-name.m +++ b/clang/test/Modules/implicit-private-with-different-name.m @@ -1,17 +1,17 @@ // RUN: rm -rf %t // Build PCH using A, with adjacent private module APrivate, which winds up being implicitly referenced -// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-different-name -emit-pch -o %t-A.pch %s +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-different-name -emit-pch -o %t-A.pch %s -Wprivate-module // Use the PCH with no explicit way to resolve APrivate, still pick it up by automatic second-chance search for "A" with "Private" appended -// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-different-name -include-pch %t-A.pch %s -fsyntax-only +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-different-name -include-pch %t-A.pch %s -fsyntax-only -Wprivate-module // Check the fixit -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-different-name -include-pch %t-A.pch %s -fsyntax-only -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-different-name -include-pch %t-A.pch %s -fsyntax-only -fdiagnostics-parseable-fixits -Wprivate-module %s 2>&1 | FileCheck %s -// expected-warning@Inputs/implicit-private-with-different-name/A.framework/Modules/module.private.modulemap:1{{top-level module 'APrivate' in private module map, expected a submodule of 'A'}} -// expected-note@Inputs/implicit-private-with-different-name/A.framework/Modules/module.private.modulemap:1{{make 'APrivate' a submodule of 'A' to ensure it can be found by name}} -// CHECK: fix-it:"{{.*}}module.private.modulemap":{1:18-1:26}:"A.Private" +// expected-warning@Inputs/implicit-private-with-different-name/A.framework/Modules/module.private.modulemap:1{{expected canonical name for private module 'APrivate'}} +// expected-note@Inputs/implicit-private-with-different-name/A.framework/Modules/module.private.modulemap:1{{rename 'APrivate' to ensure it can be found by name}} +// CHECK: fix-it:"{{.*}}module.private.modulemap":{1:18-1:26}:"A_Private" #ifndef HEADER #define HEADER diff --git a/clang/test/Modules/implicit-private-with-submodule.m b/clang/test/Modules/implicit-private-with-submodule.m new file mode 100644 index 00000000000..1779341a5f6 --- /dev/null +++ b/clang/test/Modules/implicit-private-with-submodule.m @@ -0,0 +1,36 @@ +// RUN: rm -rf %t +// Build PCH using A, with private submodule A.Private +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-submodule -emit-pch -o %t-A.pch %s -DNO_AT_IMPORT + +// RUN: rm -rf %t +// Build PCH using A, with private submodule A.Private, check the fixit +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-submodule -emit-pch -o %t-A.pch %s -fdiagnostics-parseable-fixits -DNO_AT_IMPORT 2>&1 | FileCheck %s + +// RUN: rm -rf %t +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-submodule -emit-pch -o %t-A.pch %s -DUSE_AT_IMPORT_PRIV +// RUN: rm -rf %t +// RUN: %clang_cc1 -verify -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -F %S/Inputs/implicit-private-with-submodule -emit-pch -o %t-A.pch %s -DUSE_AT_IMPORT_BOTH + +// expected-warning@Inputs/implicit-private-with-submodule/A.framework/Modules/module.private.modulemap:1{{private submodule 'A.Private' in private module map, expected top-level module}} +// expected-note@Inputs/implicit-private-with-submodule/A.framework/Modules/module.private.modulemap:1{{rename 'A.Private' to ensure it can be found by name}} +// CHECK: fix-it:"{{.*}}module.private.modulemap":{1:20-1:27}:"A_Private" + +#ifndef HEADER +#define HEADER + +#ifdef NO_AT_IMPORT +#import "A/aprivate.h" +#endif + +#ifdef USE_AT_IMPORT_PRIV +@import A.Private; +#endif + +#ifdef USE_AT_IMPORT_BOTH +@import A; +@import A.Private; +#endif + +const int *y = &APRIVATE; + +#endif diff --git a/clang/test/Modules/modulemap-locations.m b/clang/test/Modules/modulemap-locations.m index 3c80db582d1..c99bb14dc71 100644 --- a/clang/test/Modules/modulemap-locations.m +++ b/clang/test/Modules/modulemap-locations.m @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs/ModuleMapLocations/Module_ModuleMap -I %S/Inputs/ModuleMapLocations/Both -F %S/Inputs/ModuleMapLocations -I %S/Inputs/ModuleMapLocations -F %S/Inputs -x objective-c -fsyntax-only %s -verify +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -fmodules-cache-path=%t -I %S/Inputs/ModuleMapLocations/Module_ModuleMap -I %S/Inputs/ModuleMapLocations/Both -F %S/Inputs/ModuleMapLocations -I %S/Inputs/ModuleMapLocations -F %S/Inputs -x objective-c -fsyntax-only %s -verify -Wno-private-module // regular @import module_modulemap; diff --git a/clang/test/Modules/prune.m b/clang/test/Modules/prune.m index 58992f9c006..97a2fd7d0dc 100644 --- a/clang/test/Modules/prune.m +++ b/clang/test/Modules/prune.m @@ -8,8 +8,8 @@ // Clear out the module cache // RUN: rm -rf %t // Run Clang twice so we end up creating the timestamp file (the second time). -// RUN: %clang_cc1 -DIMPORT_DEPENDS_ON_MODULE -fmodules-ignore-macro=DIMPORT_DEPENDS_ON_MODULE -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t %s -verify -// RUN: %clang_cc1 -DIMPORT_DEPENDS_ON_MODULE -fmodules-ignore-macro=DIMPORT_DEPENDS_ON_MODULE -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t %s -verify +// RUN: %clang_cc1 -DIMPORT_DEPENDS_ON_MODULE -Wno-private-module -fmodules-ignore-macro=DIMPORT_DEPENDS_ON_MODULE -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t %s -verify +// RUN: %clang_cc1 -DIMPORT_DEPENDS_ON_MODULE -Wno-private-module -fmodules-ignore-macro=DIMPORT_DEPENDS_ON_MODULE -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t %s -verify // RUN: ls %t | grep modules.timestamp // RUN: ls -R %t | grep ^Module.*pcm // RUN: ls -R %t | grep DependsOnModule.*pcm @@ -17,7 +17,7 @@ // Set the timestamp back more than two days. We should try to prune, // but nothing gets pruned because the module files are new enough. // RUN: touch -m -a -t 201101010000 %t/modules.timestamp -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t -fmodules -fmodules-prune-interval=172800 -fmodules-prune-after=345600 %s -verify +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -Wno-private-module -F %S/Inputs -fmodules-cache-path=%t -fmodules -fmodules-prune-interval=172800 -fmodules-prune-after=345600 %s -verify // RUN: ls %t | grep modules.timestamp // RUN: ls -R %t | grep ^Module.*pcm // RUN: ls -R %t | grep DependsOnModule.*pcm @@ -26,7 +26,7 @@ // This shouldn't prune anything, because the timestamp has been updated, so // the pruning mechanism won't fire. // RUN: find %t -name DependsOnModule*.pcm | sed -e 's/\\/\//g' | xargs touch -a -t 201101010000 -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t -fmodules -fmodules-prune-interval=172800 -fmodules-prune-after=345600 %s -verify +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -F %S/Inputs -Wno-private-module -fmodules-cache-path=%t -fmodules -fmodules-prune-interval=172800 -fmodules-prune-after=345600 %s -verify // RUN: ls %t | grep modules.timestamp // RUN: ls -R %t | grep ^Module.*pcm // RUN: ls -R %t | grep DependsOnModule.*pcm @@ -35,7 +35,7 @@ // This should trigger pruning, which will remove DependsOnModule but not Module. // RUN: touch -m -a -t 201101010000 %t/modules.timestamp // RUN: find %t -name DependsOnModule*.pcm | sed -e 's/\\/\//g' | xargs touch -a -t 201101010000 -// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -F %S/Inputs -fmodules-cache-path=%t -fmodules -fmodules-prune-interval=172800 -fmodules-prune-after=345600 %s -verify +// RUN: %clang_cc1 -fmodules -fimplicit-module-maps -F %S/Inputs -Wno-private-module -fmodules-cache-path=%t -fmodules -fmodules-prune-interval=172800 -fmodules-prune-after=345600 %s -verify // RUN: ls %t | grep modules.timestamp // RUN: ls -R %t | grep ^Module.*pcm // RUN: ls -R %t | not grep DependsOnModule.*pcm diff --git a/clang/test/Modules/redefinition-c-tagtypes.m b/clang/test/Modules/redefinition-c-tagtypes.m index a01f11bd74c..eb469e00e16 100644 --- a/clang/test/Modules/redefinition-c-tagtypes.m +++ b/clang/test/Modules/redefinition-c-tagtypes.m @@ -1,8 +1,8 @@ // RUN: rm -rf %t.cache // RUN: %clang_cc1 -fsyntax-only %s -fmodules -fmodules-cache-path=%t.cache \ -// RUN: -fimplicit-module-maps -F%S/Inputs -verify +// RUN: -fimplicit-module-maps -Wno-private-module -F%S/Inputs -verify // RUN: %clang_cc1 -fsyntax-only %s -fmodules -fmodules-cache-path=%t.cache \ -// RUN: -fimplicit-module-maps -F%S/Inputs -DCHANGE_TAGS -verify +// RUN: -fimplicit-module-maps -Wno-private-module -F%S/Inputs -DCHANGE_TAGS -verify #include "F/F.h" #ifndef CHANGE_TAGS diff --git a/clang/test/Modules/requires-coroutines.mm b/clang/test/Modules/requires-coroutines.mm index 8e25a3c5752..4e9c9d19cd8 100644 --- a/clang/test/Modules/requires-coroutines.mm +++ b/clang/test/Modules/requires-coroutines.mm @@ -1,6 +1,6 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -I %S/Inputs/DependsOnModule.framework %s -verify -// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -I %S/Inputs/DependsOnModule.framework %s -verify -fcoroutines-ts -DCOROUTINES +// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -Wno-private-module -F %S/Inputs -I %S/Inputs/DependsOnModule.framework %s -verify +// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -Wno-private-module -F %S/Inputs -I %S/Inputs/DependsOnModule.framework %s -verify -fcoroutines-ts -DCOROUTINES #ifdef COROUTINES @import DependsOnModule.Coroutines; diff --git a/clang/test/Modules/requires.m b/clang/test/Modules/requires.m index d61de6bd48d..4a83d0c2b0e 100644 --- a/clang/test/Modules/requires.m +++ b/clang/test/Modules/requires.m @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -I %S/Inputs %s -verify -fmodule-feature custom_req1 +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -I %S/Inputs %s -verify -fmodule-feature custom_req1 // expected-error@DependsOnModule.framework/module.map:7 {{module 'DependsOnModule.CXX' requires feature 'cplusplus'}} @import DependsOnModule.CXX; // expected-note {{module imported here}} diff --git a/clang/test/Modules/requires.mm b/clang/test/Modules/requires.mm index f90622ece84..b4237cbd787 100644 --- a/clang/test/Modules/requires.mm +++ b/clang/test/Modules/requires.mm @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -I %S/Inputs/DependsOnModule.framework %s -verify +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -I %S/Inputs/DependsOnModule.framework %s -verify @import DependsOnModule.CXX; // expected-error@module.map:11 {{module 'DependsOnModule.NotCXX' is incompatible with feature 'cplusplus'}} diff --git a/clang/test/Modules/subframework-from-intermediate-path.m b/clang/test/Modules/subframework-from-intermediate-path.m index 394cc45f2f6..1543861ec4c 100644 --- a/clang/test/Modules/subframework-from-intermediate-path.m +++ b/clang/test/Modules/subframework-from-intermediate-path.m @@ -1,5 +1,5 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -F %S/Inputs/DependsOnModule.framework/Frameworks %s -verify +// RUN: %clang_cc1 -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -F %S/Inputs/DependsOnModule.framework/Frameworks %s -verify @import DependsOnModule; @import SubFramework; // expected-error{{module 'SubFramework' not found}} diff --git a/clang/test/Modules/subframeworks.m b/clang/test/Modules/subframeworks.m index 21081843d78..ce35415717d 100644 --- a/clang/test/Modules/subframeworks.m +++ b/clang/test/Modules/subframeworks.m @@ -1,6 +1,6 @@ // RUN: rm -rf %t -// RUN: %clang_cc1 -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -F %S/Inputs/DependsOnModule.framework/Frameworks %s -verify -// RUN: %clang_cc1 -x objective-c++ -Wauto-import -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -F %S/Inputs/DependsOnModule.framework/Frameworks %s -verify +// RUN: %clang_cc1 -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -F %S/Inputs/DependsOnModule.framework/Frameworks %s -verify +// RUN: %clang_cc1 -x objective-c++ -Wauto-import -Wno-private-module -fmodules-cache-path=%t -fmodules -fimplicit-module-maps -F %S/Inputs -F %S/Inputs/DependsOnModule.framework/Frameworks %s -verify @import DependsOnModule; |

