36 lines
465 B
C#
Raw Normal View History

//
// This test excercises the fact that array evaluation in UnaryMutator and
// CompoundAssign expressions should never mutate data more than once
//
class X {
static int g_calls;
static int g ()
{
g_calls++;
return 0;
}
public static int Main ()
{
int [] a = new int [10];
int i = 0;
a [0] = 1;
a [i++] += 3;
if (i != 1)
return 1;
if (a [0] != 4)
return 2;
a [g ()]++ ;
if (g_calls != 1)
return 3;
return 0;
}
}