aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGen/Generic/struct.c
blob: c4181bc250597165656dcf01992fa889bb307b55 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
void printf(char*, ...);

typedef struct params_ {
  int     i1;
  float   f1;
  double  d1;
  short   s1;
  double  d2;
  char    c1;
  unsigned short  s2;
  float   f2;
  int     i2;
} params;

void print_param(params p) {
  printf("%d,   %f,   %f,   %d,   %f,   %c,   %d,   %f,   %d\n",
        p.i1, p.f1, p.d1, p.s1, p.d2, p.c1, p.s2, p.f2, p.i2);
}

void print_param_addr(params *p) {
  printf("%d,   %f,   %f,   %d,   %f,   %c,   %d,   %f,   %d\n",
        p->i1, p->f1, p->d1, p->s1, p->d2, p->c1, p->s2, p->f2, p->i2);
}

int main() {
  params p;
  p.i1 = 1;
  p.f1 = 2.0;
  p.d1 = 3.0;
  p.s1 = 4;
  p.d2 = 5.0;
  p.c1 = '6';
  p.s2 = 7;
  p.f2 = 8.0;
  p.i2 = 9;
  print_param(p);
  print_param_addr(&p);
  return 0;
}