7 char foo
[3] = { 'b', 'c', 'd' };
8 int bar
[3] = {1, 2, 0};
11 /* These tests check expression evaluation rules, such as
12 ensuring that side-effect expression (++) get executed the
13 right number of times; that array lookup checks nest correctly. */
15 if (foo
[0] != 'b' || foo
[1] != 'a' || foo
[2] != 'd' || t
!= 2) abort ();
16 if (bar
[0] != 1 || bar
[1] != 2 || bar
[2] != 0) abort();
19 if (foo
[0] != 'e' || foo
[1] != 'a' || foo
[2] != 'd' || t
!= 1) abort ();
20 if (bar
[0] != 1 || bar
[1] != 2 || bar
[2] != 0) abort();
22 foo
[bar
[++t
]--] = 'g';
23 if (foo
[0] != 'g' || foo
[1] != 'a' || foo
[2] != 'd' || t
!= 2) abort ();
24 if (bar
[0] != 1 || bar
[1] != 2 || bar
[2] != -1) abort();