a575963da9
Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
72 lines
868 B
C#
72 lines
868 B
C#
//
|
|
// This test checks the !x optimization for if/while/for/do
|
|
//
|
|
class X {
|
|
|
|
static bool t = true;
|
|
static bool f = false;
|
|
static int j = 0;
|
|
|
|
static void a ()
|
|
{
|
|
if (!t)
|
|
j = 1;
|
|
}
|
|
|
|
static void w (int x)
|
|
{
|
|
System.Console.WriteLine (" " + x);
|
|
}
|
|
|
|
public static int Main ()
|
|
{
|
|
int ok = 0, error = 0;
|
|
|
|
if (!f)
|
|
ok = 1;
|
|
else
|
|
error++;
|
|
|
|
w (1);
|
|
if (f)
|
|
error++;
|
|
else
|
|
ok |= 2;
|
|
|
|
w(2);
|
|
if (t)
|
|
ok |= 4;
|
|
else
|
|
error++;
|
|
|
|
if (!t)
|
|
error++;
|
|
else
|
|
ok |= 8;
|
|
|
|
if (!(t && f == false))
|
|
error++;
|
|
else
|
|
ok |= 16;
|
|
|
|
int i = 0;
|
|
w(3);
|
|
do {
|
|
i++;
|
|
} while (!(i > 5));
|
|
if (i != 6)
|
|
error ++;
|
|
else
|
|
ok |= 32;
|
|
|
|
w(100);
|
|
System.Console.WriteLine ("Value: " + t);
|
|
do {
|
|
i++;
|
|
} while (!t);
|
|
|
|
System.Console.WriteLine ("Ok=" + ok + " Errors=" + error);
|
|
return ((ok == 63) && (error == 0)) ? 0 : 1;
|
|
}
|
|
}
|