mirror of
https://github.com/llvm/llvm-project.git
synced 2025-04-29 18:26:05 +00:00

The warning this inhibits, -Wobjc-root-class, is opt-in for now. However, all clang unit tests that would trigger the warning have been updated to use -Wno-objc-root-class. <rdar://problem/7446698> llvm-svn: 154187
40 lines
837 B
Objective-C
40 lines
837 B
Objective-C
// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
|
|
|
|
@interface Super @end
|
|
|
|
@interface INTFSTANDALONE : Super
|
|
{
|
|
id IVAR; // expected-note {{previous definition is here}}
|
|
}
|
|
|
|
@end
|
|
|
|
@implementation INTFSTANDALONE : Super // expected-warning {{class implementation may not have super class}}
|
|
{
|
|
id PRIV_IVAR;
|
|
@protected
|
|
id PRTCTD;
|
|
@private
|
|
id IVAR3;
|
|
int IVAR; // expected-error {{instance variable is already declared}}
|
|
@public
|
|
id IVAR4;
|
|
}
|
|
@end
|
|
|
|
@interface Base @end
|
|
|
|
@implementation Base {
|
|
int ivar1;
|
|
@public
|
|
int ivar2;
|
|
}
|
|
@end
|
|
|
|
id fn1(INTFSTANDALONE *b) { return b->PRIV_IVAR; } // expected-error {{instance variable 'PRIV_IVAR' is private}}
|
|
|
|
id fn2(INTFSTANDALONE *b) { return b->PRTCTD; } // expected-error {{instance variable 'PRTCTD' is protected}}
|
|
|
|
id fn4(INTFSTANDALONE *b) { return b->IVAR4; }
|
|
|