modula2 testsuite: new libc unit test
[official-gcc.git] / gcc / testsuite / g++.dg / torture / pr81884.C
blobf545355ce35298fbaa69f9f00e07c45f353f1440
1 /* { dg-do run } */
3 typedef unsigned long uint64_t;
5 struct value_t {
6     uint64_t _count;
7     value_t(uint64_t c) : _count(c) {}
8 };
10 struct X {
11     value_t eventTime;
12     uint64_t arr[0];
15 X* x;
17 __attribute__((noclone, noinline))
18 void initialize()
20   x->arr[0] = 11;
21   x->arr[1] = 12;
22   x->eventTime = value_t(10);
23   x->arr[2] = 13;
24   x->arr[3] = 14;
27 int main()
29   char buffer[sizeof(X) + sizeof(uint64_t)*4];
30   x = (X*)buffer;
31   x->eventTime = value_t(999);
32   x->arr[0] = 1;
33   x->arr[1] = 2;
34   x->arr[2] = 3;
35   x->arr[3] = 4;
36   initialize();
37   if (x->arr[0] != 11 || x->arr[1] != 12 || x->arr[2] != 13 || x->arr[3] != 14)
38     __builtin_abort ();