xref: /aosp_15_r20/external/clang/test/CodeGenObjC/encode-test-3.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li// RUN: %clang_cc1 -triple=i686-apple-darwin9 -emit-llvm -o - %s | FileCheck %s
2*67e74705SXin Li
3*67e74705SXin Liint main() {
4*67e74705SXin Li  int n;
5*67e74705SXin Li
6*67e74705SXin Li  const char * inc = @encode(int[]);
7*67e74705SXin Li// CHECK: ^i
8*67e74705SXin Li// CHECK-NOT: ^i
9*67e74705SXin Li  const char * vla = @encode(int[n]);
10*67e74705SXin Li// CHECK: [0i]
11*67e74705SXin Li// CHECK-NOT: [0i]
12*67e74705SXin Li}
13*67e74705SXin Li
14*67e74705SXin Li// PR3648
15*67e74705SXin Liint a[sizeof(@encode(int)) == 2 ? 1 : -1]; // Type is char[2]
16*67e74705SXin Liconst char *B = @encode(int);
17*67e74705SXin Lichar (*c)[2] = &@encode(int); // @encode is an lvalue
18*67e74705SXin Li
19*67e74705SXin Lichar d[] = @encode(int);   // infer size.
20*67e74705SXin Lichar e[1] = @encode(int);  // truncate
21*67e74705SXin Lichar f[2] = @encode(int);  // fits
22*67e74705SXin Lichar g[3] = @encode(int);  // zero fill
23*67e74705SXin Li
24