Home | History | Annotate | Download | only in SemaObjC
      1 // RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s
      2 
      3 typedef int INTF3; // expected-note {{previous definition is here}}
      4 
      5 @interface SUPER @end // expected-note {{previous definition is here}}
      6 
      7 @interface OBJECT @end
      8 
      9 @interface INTF  : OBJECT
     10 @end
     11 
     12 @implementation INTF @end // expected-note {{previous definition is here}}
     13 
     14 @implementation INTF //  expected-error {{reimplementation of class 'INTF'}}
     15 @end
     16 
     17 
     18 @interface INTF1 : OBJECT
     19 @end
     20 
     21 @implementation INTF1 : SUPER // expected-error {{conflicting super class name 'SUPER'}}
     22 @end
     23 
     24 @interface INTF2 
     25 @end
     26 
     27 @implementation INTF2 : SUPR //  expected-error {{cannot find interface declaration for 'SUPR', superclass of 'INTF2'}}
     28 @end
     29 
     30 @implementation INTF3 @end // expected-error {{redefinition of 'INTF3' as different kind of symbol}}
     31 
     32 @implementation INTF4 @end // expected-warning {{cannot find interface declaration for 'INTF4'}}
     33 
     34 @class INTF5; // expected-note{{forward declaration of class here}}
     35 
     36 @implementation INTF5 {  // expected-warning {{cannot find interface declaration for 'INTF5'}}
     37   int x;
     38 }
     39 @end
     40 
     41