1ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao// Used with the struct.c test
2ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
3ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Point {
4ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  float x, y, z;
5ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
6ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
7ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Point2 {
8ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  float xValue, yValue, zValue;
9ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
10ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
11ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Fun;
12ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
13ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Fun *fun;
14ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
15ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Fun {
16ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  int is_ptr : 1;
17ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
18ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  union {
19ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    void *ptr;
20ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao    int  *integer;
21ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  };
22ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
23ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
24ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Fun2;
25ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct Fun2 *fun2;
26ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao
27ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liaostruct S {
28ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao  struct Nested { int x, y; } nest;
29ea285162342df160e7860e26528bc7110bc6c0cdShih-wei Liao};
30