Browse Source

[cs] generate "else if" without extra blocks

Dan Korostelev 11 years ago
parent
commit
c0813e93f6
1 changed files with 6 additions and 1 deletions
  1. 6 1
      gencs.ml

+ 6 - 1
gencs.ml

@@ -1399,7 +1399,12 @@ let configure gen =
 						| Some e ->
 						| Some e ->
 							write w "else ";
 							write w "else ";
 							in_value := false;
 							in_value := false;
-							expr_s w (mk_block e)
+							let e = match e.eexpr with
+								| TIf _ -> e
+								| TBlock [{eexpr = TIf _} as e] -> e
+								| _ -> mk_block e
+							in
+							expr_s w e
 					)
 					)
 				| TWhile (econd, eblock, flag) ->
 				| TWhile (econd, eblock, flag) ->
 					(match flag with
 					(match flag with