blob: 0c539003842a1b50ee78dee0ff5ce7b5b886e550 [file] [log] [blame]
Daniel Dunbara5728872009-12-15 20:14:24 +00001// RUN: %clang_cc1 %s -emit-llvm -o %t
Eli Friedman8f39f5e2008-12-20 23:11:59 +00002
3int b(char* x);
4
5// Extremely basic VLA test
6void a(int x) {
7 char arry[x];
8 arry[0] = 10;
9 b(arry);
10}
Anders Carlssonb50525b2008-12-21 03:33:21 +000011
Anders Carlsson02697092008-12-21 03:40:32 +000012int c(int n)
Anders Carlssonb50525b2008-12-21 03:33:21 +000013{
Anders Carlsson02697092008-12-21 03:40:32 +000014 return sizeof(int[n]);
Anders Carlssonb50525b2008-12-21 03:33:21 +000015}
Anders Carlssonc756a8e2009-02-09 21:48:07 +000016
17int f0(int x) {
18 int vla[x];
19 return vla[x-1];
20}
Anders Carlsson22ab8d82009-02-10 22:50:24 +000021
22void
23f(int count)
24{
25 int a[count];
26
27 do { } while (0);
28
29 if (a[0] != 3) {
30 }
31}
Eli Friedmanbdad6b62009-05-29 19:23:46 +000032
33void g(int count) {
34 // Make sure we emit sizes correctly in some obscure cases
35 int (*a[5])[count];
36 int (*b)[][count];
37}