diff options
author | Fariborz Jahanian <fjahanian@apple.com> | 2007-09-26 18:27:25 +0000 |
---|---|---|
committer | Fariborz Jahanian <fjahanian@apple.com> | 2007-09-26 18:27:25 +0000 |
commit | d0b90bff98bafb72ea9809f509bf37c93c60e74e (patch) | |
tree | d24b1c4e75fd7cca92f339e0735ef44e6c33e201 /test | |
parent | 095ffca8c5f69df5826fea8714b7f50a1313d7c6 (diff) |
This patch inserts ivars declared in @implementation in its object and verifies
that they conform(in type, name and numbers) to those declared in @interface.
Test case highlights kind of checking we do here.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42360 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test')
-rw-r--r-- | test/Sema/conflicting-ivar-test-1.m | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/test/Sema/conflicting-ivar-test-1.m b/test/Sema/conflicting-ivar-test-1.m new file mode 100644 index 0000000000..e08da34bc2 --- /dev/null +++ b/test/Sema/conflicting-ivar-test-1.m @@ -0,0 +1,84 @@ +@interface INTF +{ +@public + int IVAR; // expected-error {{previous definition is here}} +} +@end + +@implementation INTF +{ +@private + + int XIVAR; // expected-error {{conflicting instance variable name 'XIVAR'}} +} +@end + + + +@interface INTF1 +{ +@public + int IVAR; + int IVAR1; // expected-error {{inconsistent instance variable specification}} +} +@end + +@implementation INTF1 +{ +@private + + int IVAR; +} +@end + + +@interface INTF2 +{ +@public + int IVAR; +} +@end + +@implementation INTF2 +{ +@private + + int IVAR; + int IVAR1; // expected-error {{inconsistent instance variable specification}} +} +@end + + +@interface INTF3 +{ +@public + int IVAR; // expected-error {{previous definition is here}} +} +@end + +@implementation INTF3 +{ +@private + + short IVAR; // expected-error {{conflicting instance variable type}} +} +@end + +@implementation INTF4 // expected-warning {{cannot find interface declaration for 'INTF4'}} +{ +@private + + short IVAR; +} +@end + +@interface INTF5 +{ + char * ch; +} +@end + +@implementation INTF5 +{ +} +@end |