mirror of
https://github.com/dlang/dmd.git
synced 2025-04-26 21:21:48 +03:00
108 lines
1.4 KiB
D
108 lines
1.4 KiB
D
/*
|
|
RUN_OUTPUT:
|
|
---
|
|
hello
|
|
world
|
|
foo
|
|
Success
|
|
---
|
|
*/
|
|
|
|
import core.stdc.stdio;
|
|
|
|
/***********************************/
|
|
|
|
void test1()
|
|
{
|
|
int i;
|
|
__gshared int j;
|
|
|
|
version (D_InlineAsm_X86)
|
|
{
|
|
asm
|
|
{
|
|
naked ;
|
|
mov EAX, i ;
|
|
}
|
|
version(D_PIC)
|
|
{}
|
|
else version (D_PIE)
|
|
{}
|
|
else
|
|
{
|
|
asm
|
|
{
|
|
mov EAX, j ;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
/***********************************/
|
|
|
|
int main()
|
|
{
|
|
for (int i = 0; ; i++)
|
|
{
|
|
if (i == 10)
|
|
break;
|
|
}
|
|
|
|
string[] a = new string[3];
|
|
a[0] = "hello";
|
|
a[1] = "world";
|
|
a[2] = "foo";
|
|
|
|
foreach (string s; a)
|
|
printf("%.*s\n", cast(int)s.length, s.ptr);
|
|
|
|
switch (1)
|
|
{
|
|
default:
|
|
break;
|
|
}
|
|
|
|
switch ("foo"w)
|
|
{
|
|
case "foo":
|
|
break;
|
|
default: assert(0);
|
|
}
|
|
|
|
switch (1)
|
|
{
|
|
case 1:
|
|
try
|
|
{
|
|
goto default;
|
|
}
|
|
catch (Throwable o)
|
|
{
|
|
}
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
switch (1)
|
|
{
|
|
case 1:
|
|
try
|
|
{
|
|
goto case 2;
|
|
}
|
|
catch (Throwable o)
|
|
{
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
break;
|
|
|
|
default: assert(0);
|
|
}
|
|
|
|
printf("Success\n");
|
|
return 0;
|
|
}
|