diff options
Diffstat (limited to 'test/CodeGen/Generic/struct.c')
-rw-r--r-- | test/CodeGen/Generic/struct.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/test/CodeGen/Generic/struct.c b/test/CodeGen/Generic/struct.c new file mode 100644 index 0000000..c4181bc --- /dev/null +++ b/test/CodeGen/Generic/struct.c @@ -0,0 +1,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; +} |