blob: 87eefbfdf2879a05b10bf5da4444bf25f32165d1 [file] [log] [blame]
import std.stdio;
void foo()
{
float f = x % y;
double d = x % y;
real r = x % y;
result = (x < y); // false if x or y is nan
assert(e == 0);
int array[17];
array[] = value;
int array[17];
for (i = 0; i < array.length; i++)
func(array[i]);
int array[17];
foreach (int value; array)
func(value);
int[] array;
array.length = array.length + 1;
array[array.length - 1] = x;
char[] s1;
char[] s2;
char[] s;
s = s1 ~ s2;
s ~= "hello";
writefln("Calling all cars %s times!", ntimes);
Louter:
for (i = 0; i < 10; i++)
{
for (j = 0; j < 10; j++)
{
if (j == 3)
break Louter;
if (j == 4)
continue Louter;
}
}
// break Louter goes here
typedef bit bHandle;
typedef int iHandle = -1;
typedef void *Handle = cast(void *)(-1);
Handle h;
h = func();
if (h != Handle.init)
;
char[] string = "hello";
if (string < "betty")
;
int *p = address;
volatile { i = *p; }
char[] ml = "This text spans
multiple
lines
";
}
void dostring(char[] s)
{
switch (s)
{
case "hello":;
case "goodbye":;
case "maybe":;
default:;
}
}
struct ABC
{
int z; // z is aligned to the default
align (1) int x; // x is byte aligned
align (4)
{
... // declarations in {} are dword aligned
}
align (2) : // switch to word alignment from here on
int y; // y is word aligned
}
struct Foo
{
int i;
union
{
struct { int x; long y; }
char *p;
}
}
struct Foo { int x; int y; } // note there is no terminating ;
Foo foo;
struct Foo { int x; int y; }
off = Foo.y.offsetof;
union U { int a; long b; }
U x = { a:5 };
struct S { int a; int b; }
S x = { b:3, a:5 };
int[3] a = [ 3, 2, 0 ];
int[3] a = [ 3, 2 ]; // unsupplied initializers are 0, just like in C
int[3] a = [ 2:0, 0:3, 1:2 ];
int[3] a = [ 2:0, 0:3, 2 ]; // if not supplied, the index is the
// previous one plus one.
enum color { black, red, green }
int[3] c = [ black:3, green:2, red:5 ];
char[] file = `c:\root\file.c`;
char[] quoteString = \" r"[^\\]*(\\.[^\\]*)*" \";
char[] hello = "hello world" \n;
char[] foo_ascii = "hello"; // string is taken to be ascii
wchar[] foo_wchar = "hello"; // string is taken to be wchar
enum COLORS { red, blue, green };
char[][COLORS.max + 1] cstring = [
COLORS.red : "red",
COLORS.blue : "blue",
COLORS.green : "green",
];
const ushort table1[16] = [
0x00A7, 0x0322, 0x07AD, 0x0428,
0x0536, 0x06B3, 0x023C, 0x01B9
];
const ushort table2[16] = [ 0x0000, 0x0385, 0x070A, 0x048F,
0x0536, 0x06B3, 0x023C, 0x01B9];