diff options
| author | Uneven Prankster <unevenprankster@protonmail.com> | 2023-07-12 13:22:29 -0300 |
|---|---|---|
| committer | Uneven Prankster <unevenprankster@protonmail.com> | 2023-07-12 13:22:29 -0300 |
| commit | fa2bdd711212ba6b7a94a20971e8bfa281e73296 (patch) | |
| tree | 6713b3c0379507d49558287b71dd360ce188a2f0 /tinycc/tests/tests2/03_struct.c | |
lol
Diffstat (limited to 'tinycc/tests/tests2/03_struct.c')
| -rw-r--r-- | tinycc/tests/tests2/03_struct.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/tinycc/tests/tests2/03_struct.c b/tinycc/tests/tests2/03_struct.c new file mode 100644 index 0000000..fd73133 --- /dev/null +++ b/tinycc/tests/tests2/03_struct.c @@ -0,0 +1,38 @@ +extern int printf(const char*, ...); + +struct fred; + +void fred$(struct fred* this) +{ + printf("~fred()\n"); +} + +struct __attribute__((__cleanup__(fred$))) fred +{ + int boris; + int natasha; +}; + +int main() +{ + struct fred __attribute__((__cleanup__(fred$))) bloggs; + + bloggs.boris = 12; + bloggs.natasha = 34; + + printf("%d\n", bloggs.boris); + printf("%d\n", bloggs.natasha); + + struct fred jones[2]; + jones[0].boris = 12; + jones[0].natasha = 34; + jones[1].boris = 56; + jones[1].natasha = 78; + + printf("%d\n", jones[0].boris); + printf("%d\n", jones[0].natasha); + printf("%d\n", jones[1].boris); + printf("%d\n", jones[1].natasha); + + return 0; +} |
