From 052d95a6d697f973172b08b2f743dda9bd58dcf3 Mon Sep 17 00:00:00 2001 From: Bruno Cardoso Lopes Date: Thu, 12 Jan 2017 19:15:33 +0000 Subject: [Modules] Fix misleading warning about missing textual header in umbrella header When a textual header is present inside a umbrella dir but not in the header, we get the misleading warning: warning: umbrella header for module 'FooFramework' does not include header 'Baz_Private.h' The module map in question: framework module FooFramework { umbrella header "FooUmbrella.h" export * module * { export * } module Private { textual header "Baz_Private.h" } } Fix this by taking textual headers into account. llvm-svn: 291794 --- .../Modules/Inputs/FooFramework.framework/PrivateHeaders/Bar.h | 2 ++ .../Inputs/FooFramework.framework/PrivateHeaders/Baz_Private.h | 3 +++ .../Modules/Inputs/FooFramework.framework/PrivateHeaders/Foo.h | 10 ++++++++++ .../Inputs/FooFramework.framework/PrivateHeaders/FooUmbrella.h | 3 +++ 4 files changed, 18 insertions(+) create mode 100644 clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Bar.h create mode 100644 clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Baz_Private.h create mode 100644 clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Foo.h create mode 100644 clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/FooUmbrella.h (limited to 'clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders') diff --git a/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Bar.h b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Bar.h new file mode 100644 index 00000000000..d16b395055f --- /dev/null +++ b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Bar.h @@ -0,0 +1,2 @@ +@interface Bar +@end diff --git a/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Baz_Private.h b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Baz_Private.h new file mode 100644 index 00000000000..3ea082b874c --- /dev/null +++ b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Baz_Private.h @@ -0,0 +1,3 @@ +#ifndef Baz_h +#define Baz_h +#endif /* Baz_h */ diff --git a/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Foo.h b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Foo.h new file mode 100644 index 00000000000..26b96988d58 --- /dev/null +++ b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/Foo.h @@ -0,0 +1,10 @@ +__attribute__((objc_root_class)) +@interface NSObject ++ (instancetype) alloc; +- (instancetype) init; +- (instancetype)retain; +- (void)release; +@end + +@interface Foo : NSObject +@end diff --git a/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/FooUmbrella.h b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/FooUmbrella.h new file mode 100644 index 00000000000..c752fb299e0 --- /dev/null +++ b/clang/test/Modules/Inputs/FooFramework.framework/PrivateHeaders/FooUmbrella.h @@ -0,0 +1,3 @@ +#import +#import + -- cgit v1.2.3