/* Pretty printer: assignment has higher precedence than comma */
int main() {
int b;
int a = b, c; /* Block Decl int */
int y = (y,0); /* InitExpr (y,0) */
int x = ( (y = 3), y - 2);
int z = ( (y ? 2 : 3) , 4 ) ;
int u_ = ( (y = 2) ? 3 : 0 );
int v = ( y = (2 ? 3 : 0));
/* no longer supported by gcc */
/* int w = ( (2 ? x : y) = x); // Warning (not really an lvalue) */
int s = ( 2 ? 3 : (y = x));
}