diff options
Diffstat (limited to 'clang/test')
5 files changed, 37 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/class-extension/a-private.h b/clang/test/Modules/Inputs/class-extension/a-private.h new file mode 100644 index 00000000000..e35402ac18a --- /dev/null +++ b/clang/test/Modules/Inputs/class-extension/a-private.h @@ -0,0 +1,5 @@ +#import "a.h" +#import "a-proto.h" + +@interface A () <AProto> +@end diff --git a/clang/test/Modules/Inputs/class-extension/a-proto.h b/clang/test/Modules/Inputs/class-extension/a-proto.h new file mode 100644 index 00000000000..32043ec2498 --- /dev/null +++ b/clang/test/Modules/Inputs/class-extension/a-proto.h @@ -0,0 +1,7 @@ +@protocol NSObject +@end + +@protocol AProto <NSObject> +@property (nonatomic, readwrite, assign) int p0; +@property (nonatomic, readwrite, assign) int p1; +@end diff --git a/clang/test/Modules/Inputs/class-extension/a.h b/clang/test/Modules/Inputs/class-extension/a.h new file mode 100644 index 00000000000..28c409c3377 --- /dev/null +++ b/clang/test/Modules/Inputs/class-extension/a.h @@ -0,0 +1,5 @@ +@interface NSObject +@end + +@interface A : NSObject +@end diff --git a/clang/test/Modules/Inputs/class-extension/module.modulemap b/clang/test/Modules/Inputs/class-extension/module.modulemap new file mode 100644 index 00000000000..5c30bc57e46 --- /dev/null +++ b/clang/test/Modules/Inputs/class-extension/module.modulemap @@ -0,0 +1,11 @@ + +module A { + header "a.h" + header "a-proto.h" + export * +} + +module AP { + header "a-private.h" + export * +} diff --git a/clang/test/Modules/class-extension-protocol.m b/clang/test/Modules/class-extension-protocol.m new file mode 100644 index 00000000000..752e4e129d2 --- /dev/null +++ b/clang/test/Modules/class-extension-protocol.m @@ -0,0 +1,9 @@ +// RUN: rm -rf %t.cache +// RUN: %clang_cc1 %s -fsyntax-only -fmodules -fimplicit-module-maps -fmodules-cache-path=%t.cache -I%S/Inputs/class-extension -verify +// expected-no-diagnostics + +#import "a-private.h" + +int foo(A *X) { + return X.p0 + X.p1; +} |