lindquist@270: extern(C) int printf(char*, ...); lindquist@270: lindquist@1: void main() lindquist@1: { lindquist@1: printf("Testing functions\n"); lindquist@1: int i = 5; lindquist@1: assert(a(i) == 110); lindquist@1: assert(i == 11); lindquist@1: lindquist@1: S s; lindquist@1: s.i = 5; lindquist@1: d(s); lindquist@1: assert(s.i == 5); lindquist@1: e(s); lindquist@1: assert(s.i == 6); lindquist@1: lindquist@1: printf(" SUCCESS\n"); lindquist@1: } lindquist@1: lindquist@1: int a(ref int i) lindquist@1: { lindquist@1: i*=2; lindquist@1: return b(i); lindquist@1: } lindquist@1: lindquist@1: int b(ref int i) lindquist@1: { lindquist@1: i++; lindquist@1: return c(i); lindquist@1: } lindquist@1: lindquist@1: int c(int i) lindquist@1: { lindquist@1: return i*10; lindquist@1: } lindquist@1: lindquist@1: struct S lindquist@1: { lindquist@1: int i; lindquist@1: } lindquist@1: lindquist@1: void d(S s) lindquist@1: { lindquist@1: s.i++; lindquist@1: } lindquist@1: lindquist@1: void e(ref S s) lindquist@1: { lindquist@1: s.i++; lindquist@1: }