blob: b76063ffd3d86360ea9bd59000523b011efda9ad [file] [log] [blame]
Reid Kleckner2c5a38e2013-04-10 21:10:39 +00001// RUN: %clang_cc1 -triple=i686-apple-darwin9 -emit-llvm -o - %s | FileCheck %s
Anders Carlsson559a8332009-02-22 01:38:57 +00002
Chris Lattnereaf2bb82009-02-24 22:18:39 +00003int main() {
Anders Carlsson559a8332009-02-22 01:38:57 +00004 int n;
5
6 const char * inc = @encode(int[]);
Reid Kleckner2c5a38e2013-04-10 21:10:39 +00007// CHECK: ^i
8// CHECK-NOT: ^i
Anders Carlsson559a8332009-02-22 01:38:57 +00009 const char * vla = @encode(int[n]);
Reid Kleckner2c5a38e2013-04-10 21:10:39 +000010// CHECK: [0i]
11// CHECK-NOT: [0i]
Anders Carlsson559a8332009-02-22 01:38:57 +000012}
Chris Lattnereaf2bb82009-02-24 22:18:39 +000013
14// PR3648
15int a[sizeof(@encode(int)) == 2 ? 1 : -1]; // Type is char[2]
Chris Lattnerdd8e0062009-02-24 22:27:37 +000016const char *B = @encode(int);
Chris Lattnereaf2bb82009-02-24 22:18:39 +000017char (*c)[2] = &@encode(int); // @encode is an lvalue
Chris Lattner79e079d2009-02-24 23:10:27 +000018
19char d[] = @encode(int); // infer size.
20char e[1] = @encode(int); // truncate
21char f[2] = @encode(int); // fits
22char g[3] = @encode(int); // zero fill
23