Mercurial > projects > ldc
diff tests/minicomplex/arrays1.d @ 341:1bb99290e03a trunk
[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
author | lindquist |
---|---|
date | Sun, 13 Jul 2008 02:51:19 +0200 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tests/minicomplex/arrays1.d Sun Jul 13 02:51:19 2008 +0200 @@ -0,0 +1,78 @@ +module tangotests.arrays1; + +import tango.stdc.stdio; + +void main() +{ + real[] arr; + print(arr); + main2(); +} + +void main2() +{ + real[] arr = void; + fill(arr); + print(arr); + main3(); +} + +void main3() +{ +} + +void print(real[] arr) +{ + printf("len=%u ; ptr=%p\n", arr.length, arr.ptr); +} + +void fill(ref real[] arr) +{ + auto ptr = cast(void**)&arr; + *ptr++ = cast(void*)0xbeefc0de; + *ptr = cast(void*)0xbeefc0de; +} + +void dg1(void delegate(int[]) dg) +{ + dg2(dg); +} + +void dg2(void delegate(int[]) dg) +{ + dg(null); +} + +void sarr1(int[16] sa) +{ + sarr1(sa); +} + +struct Str +{ + size_t length; + char* ptr; +} + +void str1(Str str) +{ + str1(str); +} + +void str2(ref Str str) +{ + str2(str); +} + +void str3(out Str str) +{ + str3(str); +} + +void str4(Str* str) +{ + str4(str); +} + +void str5(Str); +