Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / clang / test / SemaObjC / encode-typeof-test.m
blob7edfa66ec8f97488b763f473e493adfefcbc847c
1 // RUN: %clang_cc1  -fsyntax-only -verify -Wno-objc-root-class %s
2 @protocol X, Y, Z;
3 @class Foo;
5 @protocol Proto
6 @end
8 @interface Intf <Proto>
10 id <X> IVAR_x;
11 id <X, Y> IVAR_xy;
12 id <X, Y, Z> IVAR_xyz;
13 Foo <X, Y, Z> *IVAR_Fooxyz;
14 Class <X> IVAR_Classx;
16 @end
18 @implementation Intf 
19 @end
21 int main(void)
23     int i;
24     typeof(@encode(typeof(i))) e = @encode(typeof(Intf)); // expected-warning {{initializer-string for char array is too long}}
27 typedef short short8 __attribute__((ext_vector_type(8)));
29 struct foo {
30  char a;
31  int b;
32  long c;
33  short8 d;
34  int array[4];
35  short int bitfield1:5;
36  unsigned short bitfield2:11;
37  char *string;
40 const char *RetEncode (void) {
41  return @encode(struct foo); // expected-warning {{encoding of 'struct foo' type is incomplete because 'short8' (vector of 8 'short' values) component has unknown encoding}}