| // RUN: %clang_cc1 -fobjc-fragile-abi -fsyntax-only -verify %s |
| |
| @interface INTF |
| { |
| @public |
| int IVAR; // expected-note {{previous definition is here}} |
| } |
| @end |
| |
| @implementation INTF |
| { |
| @private |
| |
| int XIVAR; // expected-error {{conflicting instance variable names: 'XIVAR' vs 'IVAR'}} |
| } |
| @end |
| |
| |
| |
| @interface INTF1 |
| { |
| @public |
| int IVAR; |
| int IVAR1; // expected-error {{inconsistent number of instance variables specified}} |
| } |
| @end |
| |
| @implementation INTF1 |
| { |
| @private |
| |
| int IVAR; |
| } |
| @end |
| |
| |
| @interface INTF2 |
| { |
| @public |
| int IVAR; |
| } |
| @end |
| |
| @implementation INTF2 |
| { |
| @private |
| |
| int IVAR; |
| int IVAR1; // expected-error {{inconsistent number of instance variables specified}} |
| } |
| @end |
| |
| |
| @interface INTF3 |
| { |
| @public |
| int IVAR; // expected-note {{previous definition is here}} |
| } |
| @end |
| |
| @implementation INTF3 |
| { |
| @private |
| |
| short IVAR; // expected-error {{instance variable 'IVAR' has conflicting type: 'short' vs 'int'}} |
| } |
| @end |
| |
| @implementation INTF4 // expected-warning {{cannot find interface declaration for 'INTF4'}} |
| { |
| @private |
| |
| short IVAR; |
| } |
| @end |
| |
| @interface INTF5 |
| { |
| char * ch; |
| } |
| @end |
| |
| @implementation INTF5 |
| { |
| } |
| @end |