1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao#include "foo.h"
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid foo_func(int param1) {
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int local_var = global_var;
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  for (int for_var = 100; for_var < 500; ++for_var) {
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    local_var = param1 + for_var;
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  }
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  bar_func();
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S1 {
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int x;
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S2 {
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int x;
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaovoid field_test(void) {
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  struct S1 s1;
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  s1.x = 0;
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  ((struct S2 *)0)->x = 0;
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  struct MyStruct ms;
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  ms.field_var = 10;
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao}
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaoint (^CP)(int) = ^(int x) { return x * global_var; };
29