diff options
Diffstat (limited to 'clang/test')
7 files changed, 17 insertions, 0 deletions
diff --git a/clang/test/Index/index-module.m b/clang/test/Index/index-module.m index 2fccf75d7b7..77dee98b4ac 100644 --- a/clang/test/Index/index-module.m +++ b/clang/test/Index/index-module.m @@ -26,6 +26,7 @@ int glob; // CHECK-DMOD-NEXT: [ppIncludedFile]: [[DMOD_PRIVATE_H:.*/Modules/Inputs/DependsOnModule.framework[/\\]PrivateHeaders[/\\]DependsOnModulePrivate.h]] | {{.*}} | hash loc: <invalid> // CHECK-DMOD-NEXT: [importedASTFile]: {{.*}}.cache{{[/\\]}}Module.pcm | loc: [[DMOD_MODULE_H]]:1:2 | name: "Module" | isImplicit: 1 // CHECK-DMOD-NEXT: [indexDeclaration]: kind: variable | name: depends_on_module_other | {{.*}} | loc: [[DMOD_OTHER_H]]:1:5 +// CHECK-DMOD-NEXT: [importedASTFile]: {{.*}}.cache/DependsOnModule.pcm | loc: {{.*}}SubFramework.h:1:2 | name: "DependsOnModule.SubFramework.Other" | isImplicit: 1 // CHECK-DMOD-NEXT: [indexDeclaration]: kind: variable | name: sub_framework | {{.*}} | loc: [[DMOD_SUB_H]]:2:8 // CHECK-DMOD-NEXT: [indexDeclaration]: kind: variable | name: sub_framework_other | {{.*}} | loc: [[DMOD_SUB_OTHER_H]]:1:9 // CHECK-DMOD-NEXT: [indexDeclaration]: kind: variable | name: depends_on_module_private | {{.*}} | loc: [[DMOD_PRIVATE_H]]:1:5 diff --git a/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/Headers/Sub.h b/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/Headers/Sub.h new file mode 100644 index 00000000000..8a7eb8499cf --- /dev/null +++ b/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/Headers/Sub.h @@ -0,0 +1 @@ +#include <Sub/Types.h> diff --git a/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/Headers/Types.h b/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/Headers/Types.h new file mode 100644 index 00000000000..7285c5ffa56 --- /dev/null +++ b/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/Headers/Types.h @@ -0,0 +1,4 @@ +struct FrameworkSubStruct { + const char * name; + unsigned version; +}; diff --git a/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/PrivateHeaders/SubPriv.h b/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/PrivateHeaders/SubPriv.h new file mode 100644 index 00000000000..8a7eb8499cf --- /dev/null +++ b/clang/test/Modules/Inputs/HasSubModules.framework/Frameworks/Sub.framework/PrivateHeaders/SubPriv.h @@ -0,0 +1 @@ +#include <Sub/Types.h> diff --git a/clang/test/Modules/Inputs/HasSubModules.framework/Headers/HasSubModules.h b/clang/test/Modules/Inputs/HasSubModules.framework/Headers/HasSubModules.h new file mode 100644 index 00000000000..a1bdc4621cc --- /dev/null +++ b/clang/test/Modules/Inputs/HasSubModules.framework/Headers/HasSubModules.h @@ -0,0 +1 @@ +#import <Sub/Sub.h> diff --git a/clang/test/Modules/Inputs/HasSubModules.framework/PrivateHeaders/HasSubModulesPriv.h b/clang/test/Modules/Inputs/HasSubModules.framework/PrivateHeaders/HasSubModulesPriv.h new file mode 100644 index 00000000000..7b82058f42f --- /dev/null +++ b/clang/test/Modules/Inputs/HasSubModules.framework/PrivateHeaders/HasSubModulesPriv.h @@ -0,0 +1,2 @@ +#import <Sub/SubPriv.h> + diff --git a/clang/test/Modules/subframeworks.m b/clang/test/Modules/subframeworks.m index efdf896657b..22dfcca3657 100644 --- a/clang/test/Modules/subframeworks.m +++ b/clang/test/Modules/subframeworks.m @@ -20,3 +20,10 @@ void testSubFrameworkAgain() { CXXOnly cxxonly; #endif + +@import HasSubModules; + +// expected-warning@1{{treating #include as an import of module 'HasSubModules.Sub.Types'}} +#import <HasSubModules/HasSubModulesPriv.h> + +struct FrameworkSubStruct ss; |