| void abort(void); |
| void exit(int); |
| |
| void |
| test1(void) |
| { |
| int x = 3, y = 2; |
| |
| if ((x < y ? x++ : y++) != 2) |
| abort (); |
| |
| if (x != 3) |
| abort (); |
| |
| if (y != 3) |
| abort (); |
| } |
| |
| void |
| test2(void) |
| { |
| int x = 3, y = 2, z; |
| |
| z = (x < y) ? x++ : y++; |
| if (z != 2) |
| abort (); |
| |
| if (x != 3) |
| abort (); |
| |
| if (y != 3) |
| abort (); |
| } |
| |
| void |
| test3(void) |
| { |
| int x = 3, y = 2; |
| int xx = 3, yy = 2; |
| |
| if ((xx < yy ? x++ : y++) != 2) |
| abort (); |
| |
| if (x != 3) |
| abort (); |
| |
| if (y != 3) |
| abort (); |
| } |
| |
| int x, y; |
| |
| static void |
| init_xy(void) |
| { |
| x = 3; |
| y = 2; |
| } |
| |
| void |
| test4(void) |
| { |
| init_xy(); |
| if ((x < y ? x++ : y++) != 2) |
| abort (); |
| |
| if (x != 3) |
| abort (); |
| |
| if (y != 3) |
| abort (); |
| } |
| |
| void |
| test5(void) |
| { |
| int z; |
| |
| init_xy(); |
| z = (x < y) ? x++ : y++; |
| if (z != 2) |
| abort (); |
| |
| if (x != 3) |
| abort (); |
| |
| if (y != 3) |
| abort (); |
| } |
| |
| void |
| test6(void) |
| { |
| int xx = 3, yy = 2; |
| int z; |
| |
| init_xy(); |
| z = (xx < y) ? x++ : y++; |
| if (z != 2) |
| abort (); |
| |
| if (x != 3) |
| abort (); |
| |
| if (y != 3) |
| abort (); |
| } |
| |
| int |
| main(){ |
| test1 (); |
| test2 (); |
| test3 (); |
| test4 (); |
| test5 (); |
| test6 (); |
| exit (0); |
| } |