mirror of
https://github.com/xomboverlord/ldc.git
synced 2026-08-03 04:50:05 +02:00
[svn r362] Started merging the old 'test' dir as well as the newer 'tangotests' dir into 'tests/mini' and 'tests/minicomplex'.
This commit is contained in:
78
tests/mini/staticarrays.d
Normal file
78
tests/mini/staticarrays.d
Normal file
@@ -0,0 +1,78 @@
|
||||
extern(C) int printf(char*, ...);
|
||||
|
||||
void numbers()
|
||||
{
|
||||
bool[8] bools;
|
||||
char[8] chars;
|
||||
byte[8] bytes;
|
||||
short[8] shorts;
|
||||
int[8] ints;
|
||||
long[8] longs;
|
||||
float[8] floats;
|
||||
double[8] doubles;
|
||||
real[8] reals;
|
||||
{
|
||||
bools[7] = true;
|
||||
floats[7] = 3.14159265;
|
||||
{
|
||||
printf("bools[0] = %d, bools[7] = %d\n", bools[0], bools[7]);
|
||||
printf("floats[0] = %f, floats[7] = %f\n", floats[0], floats[7]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
struct S
|
||||
{
|
||||
int i = 42;
|
||||
void print()
|
||||
{
|
||||
printf("S.i = %d\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
class C
|
||||
{
|
||||
int i;
|
||||
this()
|
||||
{
|
||||
i = 3;
|
||||
}
|
||||
void print()
|
||||
{
|
||||
printf("C.i = %d\n", i);
|
||||
}
|
||||
}
|
||||
|
||||
void refs()
|
||||
{
|
||||
void*[5] voids;
|
||||
S*[5] structs;
|
||||
C[5] classes;
|
||||
|
||||
{
|
||||
voids[0] = cast(void*)0xA;
|
||||
printf("void* = %p\n", voids[0]);
|
||||
}
|
||||
{
|
||||
structs[0] = new S;
|
||||
structs[0].print();
|
||||
delete structs[0];
|
||||
}
|
||||
{
|
||||
classes[0] = new C;
|
||||
classes[0].print();
|
||||
delete classes[0];
|
||||
}
|
||||
}
|
||||
|
||||
void vals()
|
||||
{
|
||||
S[5] structs;
|
||||
}
|
||||
|
||||
void main()
|
||||
{
|
||||
numbers();
|
||||
refs();
|
||||
vals();
|
||||
}
|
||||
Reference in New Issue
Block a user