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);
+