1// RUN: %clang_cc1 -fsyntax-only -verify -Wno-objc-root-class %s 2// rdar://16655340 3@protocol X, Y, Z; 4@class Foo; 5 6@protocol Proto 7@end 8 9@interface Intf <Proto> 10{ 11id <X> IVAR_x; 12id <X, Y> IVAR_xy; 13id <X, Y, Z> IVAR_xyz; 14Foo <X, Y, Z> *IVAR_Fooxyz; 15Class <X> IVAR_Classx; 16} 17@end 18 19@implementation Intf 20@end 21 22int main() 23{ 24 int i; 25 typeof(@encode(typeof(i))) e = @encode(typeof(Intf)); // expected-warning {{initializer-string for char array is too long}} 26} 27 28// rdar://9255564 29typedef short short8 __attribute__((ext_vector_type(8))); 30 31struct foo { 32 char a; 33 int b; 34 long c; 35 short8 d; 36 int array[4]; 37 short int bitfield1:5; 38 unsigned short bitfield2:11; 39 char *string; 40}; 41 42const char *RetEncode () { 43 return @encode(struct foo); // expected-warning {{encoding of 'struct foo' type is incomplete because 'short8' (vector of 8 'short' values) component has unknown encoding}} 44} 45 46