diff tests/mini/ptrarith.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 test/ptrarith.d@d9d5d59873d8
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/mini/ptrarith.d	Sun Jul 13 02:51:19 2008 +0200
@@ -0,0 +1,35 @@
+extern(C) int printf(char*, ...);
+
+void main()
+{
+    printf("Pointer arithmetic test\n");
+    int* p;
+    printf("0x%x\n", p);
+    assert(p++ is null);
+    assert(cast(size_t)p == 4);
+    printf("0x%x\n", p);
+    p--;
+    assert(p is null);
+    printf("0x%x\n", p);
+    int d = 4;
+    p+=d;
+    printf("0x%x\n", p);
+    assert(cast(size_t)p == 16);
+    d = 2;
+    p+=d;
+    printf("0x%x\n", p);
+    assert(cast(size_t)p == 0x18);
+    d = 6;
+    p-=d;
+    printf("0x%x\n", p);
+    assert(p is null);
+    printf("  SUCCESS\n");
+}
+
+void fill_byte_array(ubyte* a, size_t n, ubyte v)
+{
+    auto p = a;
+    auto end = a+n;
+    while (p !is end)
+        *p++ = v;
+}