added key:val extension to
structure and array literals

R=r
OCL=29190
CL=29190
diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y
index 7dc6352..0841d5d 100644
--- a/src/cmd/gc/go.y
+++ b/src/cmd/gc/go.y
@@ -1786,12 +1786,20 @@
 		$$ = rev($1);
 	}
 
+/*
+ * list of combo of keyval and val
+ */
 keyval_list_r:
 	keyval
+|	expr
 |	keyval_list_r ',' keyval
 	{
 		$$ = nod(OLIST, $1, $3);
 	}
+|	keyval_list_r ',' expr
+	{
+		$$ = nod(OLIST, $1, $3);
+	}
 
 /*
  * have to spell this out using _r lists to avoid yacc conflict
@@ -1804,10 +1812,6 @@
 	{
 		$$ = rev($1);
 	}
-|	expr_list_r ocomma
-	{
-		$$ = rev($1);
-	}
 
 
 /*