mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-05-01 16:01:29 +02:00
[svn r5] Initial commit. Most things are very rough.
This commit is contained in:
33
test/ptrarith.d
Normal file
33
test/ptrarith.d
Normal file
@@ -0,0 +1,33 @@
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user