Files
ldc/test/ptrarith.d
Tomas Lindquist Olsen 964f91b5a1 [svn r291] Fixed a bunch of the old Phobos tests to work with Tango.
Branch statements now emit a new block after it.
Fixed the _adSort runtime function had a bad signature.
Added a missing dot prefix on compiler generated string tables for string switch.
Fixed, PTRSIZE seems like it was wrong on 64bit, now it definitely gets set properly.
2008-06-16 16:01:19 +02:00

36 lines
659 B
D

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;
}