void f1() {
int a = { 1 };
}
void f2() {
int a[2][2] = { { 1, 2 }, { 3, 4 } };
int b[3][3] = { { 1, 2 }, { 3, 4 } };
int *c[2] = { &a[1][1], &b[2][2] };
int *d[2][2] = { {&a[1][1], &b[2][2]}, {&a[0][0], &b[1][1]} };
int *e[3][3] = { {&a[1][1], &b[2][2]}, {&a[0][0], &b[1][1]} };
char ext[3][3] = {".Y",".U",".V"};
}
typedef void (* F)(void);
extern void foo(void);
struct S { F f; };
void f3() {
struct S a[1] = { { foo } };
}
const int g3 = 10;
int f4() {
static const int g4 = 12;
return g4;
}
typedef union vec3 {
struct { double x, y, z; };
double component[3];
} vec3;
vec3 f5(vec3 value) {
return (vec3) {{
.x = value.x
}};
}
void f6() {
int x;
long ids[] = { (long) &x };
}
struct a7 {
int b;
char v[];
};
struct a7 test7 = { .b = 0, .v = "bar" };
char test8(int X) {
char str[100000] = "abc"; return str[X];
}
void bar(void*);
int test9(int X) {
int Arr[100] = { X }; bar(Arr);
}
struct a {
int a, b, c, d, e, f, g, h, i, j, k, *p;
};
struct b {
struct a a,b,c,d,e,f,g;
};
int test10(int X) {
struct b S = { .a.a = X, .d.e = X, .f.e = 0, .f.f = 0, .f.p = 0 };
bar(&S);
}
struct test11S {
int A[10];
};
void test11(struct test11S *P) {
*P = (struct test11S) { .A = { [0 ... 3] = 4 } };
}
struct test12 {
struct test12 (*p)(void);
} test12g;
void test13(int x) {
struct X { int a; int b : 10; int c; };
struct X y = {.c = x};
}